2016-03-04 62 views
1

我试图创建一个最大长度为20的数组,它可以接受每个点中的任何数字,只要它在该范围内,但我在计算时遇到困难出来。如何在填充阵列时在java中终止扫描器

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

      array[i] = input.nextDouble(); 

} 

此填充阵列中,但我必须输入的输入的最大数量和不能简单地结束对,例如5个输入。有没有解决这个问题?

回答

0

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

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

你不能只是让这样的事情:

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(); 

} 
0

你可以问用户为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(); 
    } 
} 
}