在while循环Java中将数组重置回array [0]

时间:2018-08-15 09:00:23

标签: java arrays while-loop

我试图让我的while循环始终重置为array [0]。我正在努力做到这一点,以便可以说出我最喜欢的课程是什么,如果需要,请在选择第一个课程后改变主意。目前,该代码仅允许我输出array [0],然后输出[1],然后输出[2]或[2]> [3]或[1]> [3],但不输出[2]> [1]或[3]> [ 1]。谢谢。我正在使用Java。编辑**如果不清楚,我正在谈论第二个while循环。

import java.util.*;

public class Hobby1 {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);

        int numClass;
        int a;
        int b;
        String j;
        System.out.println("How many classes");
        numClass = scan.nextInt();
        j = scan.nextLine();
        String[] Class = new String[numClass];
        a = 0;
        while (a < numClass) {
            System.out.println("What is class " + a + "?");
            Class[a] = scan.nextLine();
            a++;
        }
        System.out.println("Which class is most important");
        String input = scan.nextLine();
        b = 0;
        boolean be = true;

        while (be == true) {


            if (input.contains(Class[b])) {
                System.out.println("The class " + Class[b] + " is most important");
                input = scan.nextLine();
             }

            b++;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您在这里遇到的一些问题:

  • while(be == true) -您只需使用 while(be) // < strong> be 是布尔值
  • 您永远不会放置 be = false; ,因此您将陷入无限循环
  • 如何迭代数组 Class 以与数组的每个值进行比较?您只需按递增顺序 b 检查一次,就需要循环所有数组,而不仅是 b 上的当前元素

例如:

for(String currentClass: Class){
   if (currentClass.equals(input)) {
       System.out.println("The class " + currentClass + " is most important");
   }
}

选中此项,然后尝试修复您的代码。