【问题标题】:How to terminate scanner in java when filling an array填充数组时如何在java中终止扫描仪
【发布时间】:2016-03-04 11:02:21
【问题描述】:

我正在尝试创建一个最大长度为 20 的数组,只要它在该范围内,它就可以在每个位置接受任何数字,但我无法弄清楚。

for(int i=0; i< MAX; i++)
     {

           array[i] = input.nextDouble();

 }

这会填充数组,但我必须输入最大输入数并且不能简单地结束,例如 5 个输入。有没有办法解决这个问题?

【问题讨论】:

    标签: java arrays java.util.scanner


    【解决方案1】:

    您可以使用扫描仪检查是否有额外的[适当的]输入hasNextDouble()

    for (int i = 0; i < MAX && input.hasNextDouble(); i++) {
        array[i] = input.nextDouble();
    }
    

    【讨论】:

      【解决方案2】:

      你就不能这样吗:

      System.out.println("Enter the number of inputs:");
      double MAX=input.nextDouble();
      double[] array=new double[(int)MAX];
      for(int i=0; i< MAX; i++)
       {
      
             array[i] = input.nextDouble();
      
       }
      

      【讨论】:

        【解决方案3】:

        您可以向用户询问 MAX 值。代码看起来像这样 -

        import java.util.Scanner;
        
        public class Main {
        
        public static void main(String[] args) throws Exception {
        
            Scanner input = new Scanner(System.in);
        
            System.out.println("Enter the MAX value : ");
            int MAX = input.nextInt();
            double[] array = new double[MAX];
            for (int i = 0; i < MAX; i++) {
                array[i] = input.nextDouble();
            }
        }
        }
        

        【讨论】:

          猜你喜欢
          • 2015-08-13
          • 1970-01-01
          • 2022-01-09
          • 2020-08-26
          • 1970-01-01
          • 2012-06-09
          • 2012-07-11
          • 1970-01-01
          相关资源
          最近更新 更多