Java-如何获取;请再试一次(j/n)“;工作 包myProg; 导入java.util.Scanner; 公务舱oving4a{ /** *Ø4a.亚历山大·佩特森 */ 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); int i; 整数计数=0; 字符串另一个=“y”; 双符号=(1+Math.random()*100); int svar=(int)符号; System.out.println(“Tipp et-tall:”); i=scan.nextInt(); while(另一个.equalsIgnoreCase(“y”)){ 而(i!=svar){ 如果(i100) 系统输出打印(“Vennligst velg et tall mellom 1-100”); 其他的 { 计数++; 如果(i>svar) System.out.println(“Beklager!Mitt-taller-mindre.Prøv-igjen.”); 其他的 System.out.println(“Beklager!Mitt tall er større.Prøv igjen.”); i=scan.nextInt(); } } } 系统输出打印(“Gratulerer!\n Du klarte det på”+计数+“forsøk.Vil Du prøve en gang til(j/n)?”; 另一个=scan.nextLine(); } }

Java-如何获取;请再试一次(j/n)“;工作 包myProg; 导入java.util.Scanner; 公务舱oving4a{ /** *Ø4a.亚历山大·佩特森 */ 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); int i; 整数计数=0; 字符串另一个=“y”; 双符号=(1+Math.random()*100); int svar=(int)符号; System.out.println(“Tipp et-tall:”); i=scan.nextInt(); while(另一个.equalsIgnoreCase(“y”)){ 而(i!=svar){ 如果(i100) 系统输出打印(“Vennligst velg et tall mellom 1-100”); 其他的 { 计数++; 如果(i>svar) System.out.println(“Beklager!Mitt-taller-mindre.Prøv-igjen.”); 其他的 System.out.println(“Beklager!Mitt tall er større.Prøv igjen.”); i=scan.nextInt(); } } } 系统输出打印(“Gratulerer!\n Du klarte det på”+计数+“forsøk.Vil Du prøve en gang til(j/n)?”; 另一个=scan.nextLine(); } },java,Java,如果我用equalsIgnoreCase运行它,当我猜到正确的问题时,它就会冻结。 如何在此程序中实现“重试(j/n)”?您有这样的代码 package myProg; import java.util.Scanner; public class oving4a { /** *Øving 4a. Aleksander Pettersen */ public static void main(String[] args) { Scanner s

如果我用
equalsIgnoreCase
运行它,当我猜到正确的问题时,它就会冻结。
如何在此程序中实现“重试(j/n)”?

您有这样的代码

package myProg;
import java.util.Scanner;
public class oving4a {

    /**
     *Øving 4a. Aleksander Pettersen
     */
    public static void main(String[] args) {
        Scanner scan = new Scanner (System.in);
        int i;  
        int count = 0; 
        String another = "y";
        double symbol =(1+Math.random()*100);
        int svar = (int) symbol;
        System.out.println("Tipp et tall:");
        i = scan.nextInt();
        while (another.equalsIgnoreCase("y")){
            while (i != svar){ 
                if (i < 1 | i > 100)
                    System.out.println("Vennligst velg et tall mellom 1 - 100");
                else
                {
                    count++;
                    if(i > svar)
                        System.out.println("Beklager! Mitt tall er mindre. Prøv igjen.");
                    else 
                        System.out.println("Beklager! Mitt tall er større. Prøv igjen.");
                    i = scan.nextInt();
                }
            }
        }
        System.out.println("Gratulerer! \n Du klarte det på " +count + " forsøk. Vil du prøve en gang til(j/n)?");
        another = scan.nextLine();
    }

}

只有
另一个
可以在while循环之外设置为“y”以外的值。while循环中没有任何东西会将条件
更改为另一个。equalsIgnoreCase(“y”)
更改为
false

我不明白为什么今天这种重试是/否的要求如此之高。只需检查上面的链接一个类似的问题。@Emil,大多数情况下,学校不是刚刚开始吗?马特是对的:将最后两条语句移到循环中(并将“y”替换为“j”,因为它是德语)@bzlm(n)是正确的答案@Mauri靠近,但没有雪茄。:)
String another = "y";
...
while (another.equalsIgnoreCase("y")) {
    ...
}
another = scan.nextLine();