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");

    }
}

}