//基本上我需要提示用户输入等级,并计算A的B的数量等等。我不知道如何让循环在每个用户输入中循环一次。它只是垃圾邮件输入考试成绩。编辑谢谢大家的帮助我想通了!
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int numAs = 0;
int numBs = 0;
int numCs = 0;
int numFs = 0;
int grade = 0;
while (grade >= 0 && grade <= 100)
System.out.println("Enter an exam grade");
grade = input.nextInt();
if (grade >= 90) {numAs++;
}else if (grade >=80 && grade<= 89 ) {numBs++;
}else if (grade >= 70 && grade <= 79) {numCs++;
}else if (grade <= 69) {numFs++;
}else if (grade < 0 || grade > 100) {System.out.println("Error invalid grade entered.");
}
}
}
如果您正确地格式化了代码,您将看到While循环没有大括号,因此它只包含下面一行。
Scanner input = new Scanner(System.in);
int numAs = 0;
int numBs = 0;
int numCs = 0;
int numFs = 0;
int grade = 0;
while (grade >= 0 && grade <= 100)
System.out.println("Enter an exam grade");
//WHILE ENDS HERE
grade = input.nextInt();
if (grade >= 90) {
numAs++;
} else if (grade >= 80 && grade <= 89) {
numBs++;
} else if (grade >= 70 && grade <= 79) {
numCs++;
} else if (grade <= 69) {
numFs++;
} else if (grade < 0 || grade > 100) {
System.out.println("Error invalid grade entered.");
}
即使添加缺少的{
,也无法解决多个问题——错误输入会发生什么;如何正确停止循环。因此,综合考虑所有因素,这可能会更好一些:
Scanner input = new Scanner(System.in);
int numAs = 0, numBs = 0, numCs = 0, numFs = 0;
int grade = 0;
String in = "";
while (true) {
System.out.println("Enter an exam grade or Q to exit");
//WHILE ENDS HERE
in = input.nextLine();
if ("Q".equals(in)) {
System.out.println("That's it!");
break;
}
try {
grade = Integer.parseInt(in); //get caught if not a num
if (grade < 0 || grade > 100) { //gets caught if bad num
throw new Exception();
}
} catch (Exception e) {
System.out.println("Error invalid grade entered.");
}
if (grade >= 90)
numAs++;
else if (grade >= 80 && grade <= 89)
numBs++;
else if (grade >= 70 && grade <= 79)
numCs++;
else if (grade <= 69)
numFs++;
System.out.println("Saved.");
}
//Continue after breaking the loop
在你的while声明之后,你缺少了你的花括号。如果没有指定大括号,while循环只包括以下语句,而不是整个块。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int numAs = 0;
int numBs = 0;
int numCs = 0;
int numFs = 0;
int grade = 0;
while (grade >= 0 && grade <= 100){
System.out.println("Enter an exam grade");
grade = input.nextInt();
if (grade >= 90) {numAs++;
}
else if (grade >=80 && grade<= 89 ) {numBs++;
}
else if (grade >= 70 && grade <= 79) {numCs++;
}
else if (grade <= 69) {numFs++;
}
else if (grade < 0 || grade > 100) {System.out.println("Error invalid grade entered.");
}
}
}
正如这里看到的,有两种方法可以重复某事很多次。但是它似乎对我不起作用,所以我想知道是否有人能帮忙。 基本上,我想重复以下3次 根据链接所说,这就是我所做的, 但这似乎行不通。while循环只重复一次,而不是三次。有人能帮我解决这个问题吗?
我试图实现每秒循环一次的ScheduledExecutorService线程,但现在它只循环一次。 我的问题是如何设置它,使它周期性地循环,而不是一次迭代? 另外,如何将连接池传递给线程,以便每次迭代都可以查询数据库?任何帮助都非常感谢。
我发现这样的php代码: 我希望这个循环会执行4次,因为$I变成了对$的引用(对吗?)。然而,循环只执行一次,并输出: a=10,i=10 我不明白为什么它会这样工作。有什么想法吗?
到目前为止,我的计划是: 现在我需要它做的是生成一个从华氏度到摄氏度的20个温度转换表。如果用户输入 0,下面是输出可能是什么样子的前 3 行的示例: 华氏温度:0摄氏度:-17.78 华氏度: 5 摄氏度: -15.00 华氏:10摄氏度-12.22度 等… 问题是,如果输入大于20,它将不会循环正确的次数。 下面是一个例子,说明如果用户输入5: 输出: 输入您的起始温度(华氏:5)。 华氏摄氏
问题内容: 我很难弄清楚为什么while循环实际上不会循环。它运行一次并停止。 我正在尝试使其循环,以便用户能够多次转换单位。任何帮助都欢迎! 问题答案: 问题在于,当您呼叫时,它会占用该号码,但不会占用该号码之后的换行符。要解决此问题,只需在调用后放一行代码。 示例和完整说明: 假设您输入“ km”,按回车,“ 123”,按回车。从程序的角度来看,输入流为。 该代码获取值,并且使输入超出第一个。
我的程序中有两个while循环。第一个是针对游戏菜单的,第二个是针对实际游戏的。如果“Gameover-Event”发生,我想返回菜单。我不知道该怎么做。