我想做一個骰子,不斷拋出,直到它擊中6: 當它擊中1時,它彈出1和一個眼睛的骰子,並再次拋出,.. 只是隨機數字(明顯1-6)直到命中6.當命中6 它應該停止。問題與我的Java循環
現在我有了這個開關,它顯示了正確的數字時,但我有麻煩讓這個開關正常工作。或者它擊中所有的數字,但六,並繼續生成數字,或者它一直拋出相同的數字。
任何人都可以借我一把嗎?
非常讚賞
public static void main(String[] args) {
// asking what symbol to use to print the eye(s) of the dice
System.out.print("choose symbol to use for eyes: ");
char ch;
Scanner sc = new Scanner(System.in);
ch = sc.findInLine(".").charAt(0);
int dice = (int)(6*Math.random()) + 1;
do{
switch(dice % 6){
case 0: System.out.println("1");
System.out.println(ch);
break;
case 1: System.out.println("2");
System.out.println(ch + "\n\n " + ch);
break;
case 2: System.out.println("3");
System.out.println(ch + "\n " + ch + "\n " + ch);
break;
case 3: System.out.println("4");
System.out.println(ch + " " + ch + "\n" + ch + " " + ch);
break;
case 4: System.out.println("5");
System.out.println(ch + " " + ch + "\n" + " " + ch + " \n"+ ch + " " + ch);
break;
}
}
while(dice < 6);
// Else{ System.out.println("6");
// System.out.println(ch + " " + ch + "\n" + ch + " " + ch + "\n" + ch +
// " " + ch);
}
}
}
因爲你只是隨機產生一次數字。 – proulxs 2014-09-30 19:41:12
你的循環條件是錯誤的,它應該是骰子%6 == 0。在循環中生成隨機數/ – StackFlowed 2014-09-30 19:41:14
還有另一個需要涉及的問題。你的骰子值將是1到6.然後你取這個模數。 1%6 = 1,但你有設置爲案例0. – Compass 2014-09-30 19:44:37