我的程序中有一个while循环,它将无限循环,因为for循环内部不会运行两次。我想找到输入中总和为4的组合数,这里是我的代码:
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
ArrayList<Integer> taxi = new ArrayList<Integer>();
for (int i=0; i<n; i++) {
taxi.add(scan.nextInt());
}
int i = 0;
int total=0;
int tax=0;
int num = 0;
while (num<n) {
i=0;
for (i=0; i<n; i++) {
if (total+taxi.get(i)<=4) {
total+=taxi.get(i);
System.out.println(total);
num++;
}
}
tax++;
}
System.out.println("Taxis= " + tax);
答案 0 :(得分:0)
看起来你是代码似乎你的问题在于你的一些变量的使用,例如我多次导致代码无法编译。尝试使用更好的名称或更多唯一名称,以防止将来出现这些问题。除此之外,我还建议不要经常以这种方式将所有变量归零。最后你的问题与你对变量n的使用有关,因为它仍然是一个固定的数字,在while循环中不会改变,这意味着它总是正确的。解决这个问题的最佳方法是使用
break;
命令退出while循环或使用计数循环,如for循环。 在我的诚实意见中,我会要求在下次询问这些问题时,在适当的位置用打印行检查所有变量。