我正在学习Java,至少我正在努力.现在我做了一个应用程序,你需要猜测用math.random生成的随机数.
这是代码:
import java.util.Scanner; public class var { public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); //var definitie int player; int rnummer; rnummer = (int) (Math.random() * 50 + 1); System.out.println("Raad het nummer!"); player = keyboard.nextInt(); System.out.println(rnummer); //goed geraden check if (player == rnummer) { System.out.println("Helaas, dat is niet juist."); player = keyboard.nextInt(); } System.out.println("Goed geraden!"); } }
现在有一个问题,每次你猜它是对的,你不能猜错.我无法弄清楚问题..它必须非常简单.
你需要理解这个陈述:
if (player == rnummer) { System.out.println("Helaas, dat is niet juist."); player = keyboard.nextInt(); }
这意味着 :
if player is equals to rnummer then print "Helaas, dat is niet juist." ask a value and store it in player and read the next line
但你想要的是什么
if player is NOT equals to rnummer then print "Helaas, dat is niet juist." ask a value and store it in player check again the condition
这就是我们所说的循环.这与a类似if
但仅在条件为false时退出语句.
while(player != rnummer) { System.out.println("Helaas, dat is niet juist."); player = keyboard.nextInt(); }
一if
,如果条件为真仅执行语句块一次.
A while
将执行该块直到条件为假.
注意:由于循环仅在条件为假时结束(不完全正确,某些关键字可以退出,但这是另一个主题),最终可能会出现无限循环,这意味着条件永远不会为假.
while(true){ //Statement } // Unreachable code