for循环不会在循环java中运行

时间:2017-10-13 19:07:52

标签: java

我的程序中有一个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);

1 个答案:

答案 0 :(得分:0)

看起来你是代码似乎你的问题在于你的一些变量的使用,例如我多次导致代码无法编译。尝试使用更好的名称或更多唯一名称,以防止将来出现这些问题。除此之外,我还建议不要经常以这种方式将所有变量归零。最后你的问题与你对变量n的使用有关,因为它仍然是一个固定的数字,在while循环中不会改变,这意味着它总是正确的。解决这个问题的最佳方法是使用

break;

命令退出while循环或使用计数循环,如for循环。 在我的诚实意见中,我会要求在下次询问这些问题时,在适当的位置用打印行检查所有变量。