这应该是第二学期开始的复习作业,由于某种原因,我的程序无休止地循环。赋值是获取输入并输出正整数之和,偶数整数等等。
我的程序断开循环的唯一时间是第一个输入是0,如果第一个输入不是0,无论怎样,我的程序都不会输出任何东西。
import java.util.Scanner;
public class Assignment2{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
int min = 0;
int count = 0;
int sumpos = 0;
int evencount = 0;
int input = in.nextInt();
int temp = 0;
while(input != 0){
count++;
if(input %2 == 0){
evencount++;
}
if(input > 0){
temp = sumpos;
sumpos = temp + input;
}
if(input < min){
min=input;
}
}
System.out.println("The minimum integer is " + min);
System.out.println("The count of integers is " + count);
System.out.println("The sum of positive integers is " + sumpos);
System.out.println("The count of even integers in the sequence is " + evencount);
in.close();
}
}
答案 0 :(得分:0)
int input = in.nextInt();
int temp = 0;
while(input != 0){ //
count++;
if(input %2 == 0){
evencount++;
}
if(input > 0){
temp = sumpos;
sumpos = temp + input;
}
if(input < min){
min=input;
}
input = in.nextInt();
}
您需要重新输入您的输入。因为它永远不会打破while循环
答案 1 :(得分:0)
您应该在循环中读取您的值:
while (input != 0) {
...
input = in.nextInt();
...
}
因为你的in值永远不会改变,所以你永远不会破坏你的循环。
建议,在您的情况下,更好的循环是do{}while(condition);
int input;
do{
input = in.nextInt();
//your code
}while();
希望这可以帮到你。