Java 循环检查用户的输入是否有空白

Java 循环检查用户的输入是否有空白,java,arrays,Java,Arrays,我的任务是编写一个应用程序,从用户那里获取输入,并将每个答案存储在一个字符串数组中。此应用程序还必须检查用户输入的空值,并重新提示用户输入答案。应用程序必须只重复空问题,因为此应用程序可以回答50个问题 以下是我目前的代码: for(iLoop=0; iLoop<noOfQuest; iLoop++) { if(noOfEmails<1) { System.out.println("FIL

我的任务是编写一个应用程序,从用户那里获取输入,并将每个答案存储在一个字符串数组中。此应用程序还必须检查用户输入的空值,并重新提示用户输入答案。应用程序必须只重复空问题,因为此应用程序可以回答50个问题

以下是我目前的代码:

for(iLoop=0; iLoop<noOfQuest; iLoop++)
        {
            if(noOfEmails<1)
            {
                System.out.println("FILE_ERROR: Please ensure line \"noOfEmails\" is more than 0");
            }
            if(noOfQuest==1)
            {
                System.out.println(prefinalMess);
                System.out.println(questionArr[0]);
                ansArray[iLoop]=ans.next();
                System.out.println(finalMess);
            }
            if(noOfQuest==2)
            {
                System.out.println(questionArr[0]);
                ansArray[iLoop]=ans.next();
                System.out.println(prefinalMess);
                System.out.println(questionArr[1]);
                ansArray[iLoop]=ans.next();
                System.out.println(finalMess);
            }
            if(noOfQuest==3)
            {
                System.out.println(questionArr[0]);
                ansArray[iLoop]=ans.next();
                System.out.println(questionArr[1]);
                ansArray[iLoop]=ans.next();
                System.out.println(prefinalMess);
                System.out.println(questionArr[2]);
                ansArray[iLoop]=ans.next();
                System.out.println(finalMess);
            }
            if(noOfQuest==4)
            {
                System.out.println(questionArr[0]);
                ansArray[iLoop]=ans.next();
                System.out.println(questionArr[1]);
                ansArray[iLoop]=ans.next();
                System.out.println(questionArr[2]);
                ansArray[iLoop]=ans.next();
                System.out.println(prefinalMess);
                System.out.println(questionArr[3]);
                ansArray[iLoop]=ans.next();
                System.out.println(finalMess);
            }
            if(noOfQuest==5)
            {
                System.out.println(questionArr[0]);
                ansArray[iLoop]=ans.next();
                System.out.println(questionArr[1]);
                ansArray[iLoop]=ans.next();
                System.out.println(questionArr[2]);
                ansArray[iLoop]=ans.next();
                System.out.println(questionArr[3]);
                ansArray[iLoop]=ans.next();
                System.out.println(prefinalMess);
                System.out.println(questionArr[3]);
                ansArray[iLoop]=ans.next();
                System.out.println(finalMess);
            }
        }

我还必须开发方法来检查每个答案的输入。

这里有一个小方法来读取和检查用户从命令行输入的内容:

public static List<String> readNLinesOfInput(int lines2Read){
    List<String> inputs = new ArrayList<String>();
    try (Scanner sc = new Scanner(System.in)) { 
        while(inputs.size() < lines2Read) {
            System.out.println("Enter the "+(inputs.size()+1)+" line: ");
            String line = sc.nextLine();
            if("".equals(line)){
                System.out.print("Empty lines a not allowed. ");
                continue;
            }
            inputs.add(line);
        }
    }
    return inputs;
}
您可以调用它并在每行上迭代,如下所示:

public static void main(String[] args) {
    List<String> list = readNLinesOfInput(50);
    for(String line: list){
        System.out.println(line);
    }
}

非常感谢,当涉及到添加更多问题时,这会使我的工作更轻松:3