我有一半计算方法,除非我去一个数字/方格数字/显示奇数甚至没有输入数字,而不是简单地说“你没有输入数字”我得到一个运行检查错误#3然后是一个非常大的负数。这显然不是我想要发生的事情。
package com.ggl.testing;
import java.util.Scanner;
public class PETC {
public static void main(String[] args) {
PETC petc = new PETC();
petc.pressEnterToContinue();
System.out.println("Continued");
}
public void pressEnterToContinue() {
String s = "Press enter to continue:";
System.out.println(s);
Scanner scanner = new Scanner(System.in);
scanner.nextLine();
scanner.close();
}
}
答案 0 :(得分:2)
GIGO又是垃圾中的垃圾。 (或更准确地说,#34;未定义的行为")
您从未设置number
(因此它具有一些随机值),但您的if
语句会检查number
,就好像它的默认值为< 0.尝试设置number
的默认设置,如下所示:int number = -1;
答案 1 :(得分:2)
C不会初始化变量,因此您必须这样做。如果您没有初始化,那么变量将等于内存位置的任何内容,因此它是不可预测的。在您的情况下,您应该使用负值初始化数字以强制首先输入数字。 int number = -1;
答案 2 :(得分:2)
设置数字的默认值,如-1或任何负数。那么你的代码就可以了。