Java 为什么当我按下除“while”以外的字符串时,while循环不起作用;“是”; gissa_tal_lek公共类{ 公共静态void main(字符串[]args){ 对象svar=null; 做{ 随机数=新随机数(); char s='s'; 对于(int i=1;i
,因为您已将循环条件声明为Java 为什么当我按下除“while”以外的字符串时,while循环不起作用;“是”; gissa_tal_lek公共类{ 公共静态void main(字符串[]args){ 对象svar=null; 做{ 随机数=新随机数(); char s='s'; 对于(int i=1;i,java,Java,,因为您已将循环条件声明为svar.equals(“y”)。 检查你的线路 而(svar.equals(“y”)) publicstaticvoidmain(字符串[]args){ 对象svar=null; 随机数=新随机数(); char s='s'; for(int i=1;我在类名中不使用下划线use CamelCase:)在检查while条件之前,您有一个for循环运行了5次。因此前四个y/n答案被忽略。不是针对您的问题,而是第三个else if始终为真(如果达到)第四个永远也达不到。然
svar.equals(“y”)
。
检查你的线路
而(svar.equals(“y”))
publicstaticvoidmain(字符串[]args){
对象svar=null;
随机数=新随机数();
char s='s';
for(int i=1;我在类名中不使用下划线use CamelCase:)在检查while
条件之前,您有一个for
循环运行了5次。因此前四个y/n答案被忽略。不是针对您的问题,而是第三个else if
始终为真(如果达到)第四个永远也达不到。然而,我对“Oavgjort”一无所知,所以我不能多说(但谷歌告诉我这是一个“平局”)。所以你让for循环完全没有意义。为什么你一开始就有for循环?
public class gissa_tal_lek {
public static void main(String[] args) {
Object svar = null;
do {
Random tal = new Random();
char s = 's';
for (int i = 1; i <= 5; i++) {
int nummer = tal.nextInt(5);
String player1 = JOptionPane.showInputDialog("Skriv in spelare 1 namn: ");
String player2 = JOptionPane.showInputDialog("Skriv in spelare 2 namn: ");
String text_p1 = JOptionPane.showInputDialog("Hej " + player1 + " ange ett tal mellan 0-5:");
int p1_tal = Integer.parseInt(text_p1);
String text_p2 = JOptionPane.showInputDialog("Hej " + player2 + " ange ett tal mellan 0-5:");
int p2_tal = Integer.parseInt(text_p2);
if (p1_tal == nummer) {
String ut_p1 = String.format("%s vann! då %d = %d", player1, p1_tal, nummer);
JOptionPane.showMessageDialog(null, ut_p1);
svar = JOptionPane.showInputDialog("Vill ni spela igen y/n?");
} else if (p2_tal == nummer) {
String ut_p2 = String.format("%s vann! då %d = %d", player2, p2_tal, nummer);
JOptionPane.showMessageDialog(null, ut_p2);
svar = JOptionPane.showInputDialog("Vill ni spela igen y/n?");
} else if (p1_tal != nummer && p2_tal != nummer) {
String ut_p1_p2_forlora = String.format(
" Ingen vann! då %s%c tal är %d\n%s%c tal är %d\nDen korrekta svaret är %d", player1, s,
p1_tal, player2, s, p2_tal, nummer);
JOptionPane.showMessageDialog(null, ut_p1_p2_forlora);
svar = JOptionPane.showInputDialog("Vill ni spela igen y/n?");
} else if (p1_tal == nummer && p2_tal == nummer) {
String ut_p1_p2_oavgjord = String.format(
" Oavgjort! då %s%c tal är %d\n%s%c tal är %d\n Vilket är samma som %d", player1, s, p1_tal,
player2, s, p2_tal, nummer);
JOptionPane.showMessageDialog(null, ut_p1_p2_oavgjord);
svar = JOptionPane.showInputDialog("Vill ni spela igen y/n?");
}
}
} while (svar.equals("y"));
}
}
public static void main(String[] args) {
Object svar = null;
Random tal = new Random();
char s = 's';
for (int i = 1; i <= 1; i++) {
int nummer = tal.nextInt(5);
do {
String player1 = JOptionPane.showInputDialog("Skriv in spelare 1 namn: ");
String player2 = JOptionPane.showInputDialog("Skriv in spelare 2 namn: ");
String text_p1 = JOptionPane.showInputDialog("Hej " + player1 + " ange ett tal mellan 0-5:");
int p1_tal = Integer.parseInt(text_p1);
String text_p2 = JOptionPane.showInputDialog("Hej " + player2 + " ange ett tal mellan 0-5:");
int p2_tal = Integer.parseInt(text_p2);
if (p1_tal == nummer) {
String ut_p1 = String.format("%s vann! då %d = %d", player1, p1_tal, nummer);
JOptionPane.showMessageDialog(null, ut_p1);
svar = JOptionPane.showInputDialog("Vill ni spela igen y/n?");
} else if (p2_tal == nummer) {
String ut_p2 = String.format("%s vann! då %d = %d", player2, p2_tal, nummer);
JOptionPane.showMessageDialog(null, ut_p2);
svar = JOptionPane.showInputDialog("Vill ni spela igen y/n?");
} else if (p1_tal != nummer && p2_tal != nummer) {
String ut_p1_p2_forlora = String.format(
" Ingen vann! då %s%c tal är %d\n%s%c tal är %d\nDen korrekta svaret är %d", player1, s,
p1_tal, player2, s, p2_tal, nummer);
JOptionPane.showMessageDialog(null, ut_p1_p2_forlora);
svar = JOptionPane.showInputDialog("Vill ni spela igen y/n?");
} else if (p1_tal == nummer && p2_tal == nummer) {
String ut_p1_p2_oavgjord = String.format(
" Oavgjort! då %s%c tal är %d\n%s%c tal är %d\n Vilket är samma som %d", player1, s, p1_tal,
player2, s, p2_tal, nummer);
JOptionPane.showMessageDialog(null, ut_p1_p2_oavgjord);
svar = JOptionPane.showInputDialog("Vill ni spela igen y/n?");
}
}
while (svar.equals("y"));
JOptionPane.showMessageDialog(null, "Spelet är slut");
}
}
}