java - 当用户输入 null 时如何退出循环

标签 java arrays while-loop

我需要编写一个程序,提示用户输入最多 5 个电影标题。用户按 Enter 键退出输入并部分填充数组。

我已经尝试了这些页面中建议的许多解决方案。要么继续循环,要么出现 boolean/字符串转换错误。

public static void main(String[] args)
   {
      Scanner sc = new Scanner(System.in);
      String [] Movie = new String[5];
      String title;
      int count = 0;
      for(int i=0; i < Movie.length; i++) {
         System.out.println("Enter up to 5 Movie titles (enter null to exit)"); 
         while (sc.hasNextLine()) {
            if(sc.equals("")) {
               break;
            }
            title = sc.nextLine();
            Movie[i] = title;
            count++;
         }                  
      }      
      for(int i=0; i < Movie.length; i++) {
      System.out.println(Movie[i]);      
      }
   }

我希望程序输入代码,直到用户按 Enter 键,然后查看输入内容的输出。

最佳答案

问题是您将 Scanner 对象与空 String 进行比较,这是错误的 sc.equals("")。首先将输入读入 String 并检查是否为空

for(int i=0; i < Movie.length; i++) {
     System.out.println("Enter up to 5 Movie titles (enter null to exit)"); 
     while (sc.hasNextLine()) {
        title = sc.nextLine();
        if(title.equals("")) {
           break;
        }

        Movie[i] = title;
        count++;
     }                  
  } 

要打印数组,请使用Arrays.toString

System.out.println(Arrays.toString(Movie));

关于java - 当用户输入 null 时如何退出循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56606825/

相关文章:

c++ - 使用花括号分隔我想在 C++ 中多次使用的变量

Java While 循环语法错误?

python - 带有矩阵的嵌套循环 - 为什么第二个矩阵呢?

java - Hibernate @GenerateValue 尝试修改标识列

java - Spring Data,获取行ManyToOne/OneToMany关系?

java - 使用递归根据用户输入确定斐波那契数

java - 在 Java 中,如何打印类似于座位表的二维数组?

java - 需要 Spring Kafka KafkaTemplate.flush() 吗?

java - 在 Ubuntu 上执行 Java 类文件时遇到问题

python - 根据阈值将 NumPy 数组转换为 0 或 1