首页 > 解决方案 > 没有更多输入时退出循环

问题描述

我正在编写一些非常基本的 Java 代码。这个想法是使用循环将最多 20 个数字写入一个数组。当没有剩余值时,我想退出循环。现在,我的代码将写入数组,但如果不输入非整数值,我无法让它退出循环。我读过其他一些帖子,但他们倾向于使用字符串方法,这会使我的代码有点笨重。我觉得有一个简单的解决方案,但我似乎无法弄清楚......

import java.util.Scanner;

public class getArray{

   public static void main (String[] args){

   Scanner scnr = new Scanner(System.in);

   int[]newArray = new int[20];
   int newArraySize = 0;   

   while (scnr.hasNextInt()){
      newArray[newArraySize] = scnr.nextInt();
      newArraySize += 1;
      continue;
      }

   for (int i = 0; i < newArraySize; i++){
   System.out.println("The " + i + " input is " + newArray[i]);
   } 
 }
}

标签: javaloops

解决方案


如果我理解正确,那么您是否希望将数字的输入限制为数组的大小?

public static void main(String[] args) {

    Scanner scnr = new Scanner(System.in);
    int[] newArray = new int[20];
    int newArraySize = 0;

    while (newArraySize < newArray.length && scnr.hasNextInt()) {
        newArray[newArraySize] = scnr.nextInt();
        newArraySize++;
    }

    for (int i = 0; i < newArraySize; i++) {
        System.out.println("The " + i + " input is " + newArray[i]);
    }
}

推荐阅读