import java.util.*;//
public class Pulss {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random rd = new Random();
while (true) {
int a = rd.nextInt(100);// 100以内随机数
int b = rd.nextInt(100); System.out.print(a + "+" + b + "=" + ":");
int s = sc.nextInt();
// 从键盘输入答案a+b的结果
if (s == (a + b)) {
System.out.println("OK!");
} else {
System.out.println("NO a+b=" + (a + b));
}
}
}
}

解决方案 »

  1.   

    你的程序逻辑有问题,改改:
    [java code]
    import java.util.*;//
    public class Pulss {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            Random rd = new Random();
            boolean flag=true;
            while (flag) {
                int a = rd.nextInt(100);// 100以内随机数
                int b = rd.nextInt(100);            System.out.print(a + "+" + b + "=" + ":");
                String str=sc.next();
                if(str.toLowerCase().equals("q")){ //如果输入q,退出循环
                    flag=false;
                }
                int s = Integer.parseInt(str);
                // 从键盘输入答案a+b的结果
                if (s == (a + b)) {
                    System.out.println("OK!");
                } else {
                    System.out.println("NO a+b=" + (a + b));
                }
            }
        }
    }
    [java code]
      

  2.   

     像这样if (s == (a + b)) {
                    System.out.println("OK!");
                    break;
                } else {
                    System.out.println("NO a+b=" + (a + b));
                }
            }
        }
    }
    加个break即可退出循环。