我想从用户读取n个值,但我不知道n的值。
在第一种情况下说{4,3,5,6,11,22} 在第二种情况下{11,22,77,43,2,1,2111,322} 假设我想从用户读取10个整数值(第二次5 int 价值)(取决于每个案例)。
第二件事是我想将这些值存储在数组中。
我真的很困惑。 任何帮助???
我尝试了以下代码 -
int a[50],i=-1;//how to dynamically assign memory to an array
Scanner s=new Scanner(System.in);
do{
a[++i]=s.nextInt();
}while(!hasNextLine());
答案 0 :(得分:2)
根据我的理解使用它。
public static void main(String[] args){
int a[] = null;
int i = 1;
Scanner s=new Scanner(System.in);
while (s.hasNextLine()){
int temp[] = null;
if(a!=null){
temp = a;
}
a = new int[i];
a[i-1]=s.nextInt();
if(temp!= null){
for(int j=0;j<temp.length;j++){
a[j]=temp[j];
}
}
i++;
}
}
答案 1 :(得分:-1)
试试这个:
import java.io.*;
public class Hey
{
public static void main(String ar[])throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = "";//get the input
while((input = br.readLine()) != null)
{
String []numbers = input.split(",");
System.out.println(numbers.length);
}
}
}
答案 2 :(得分:-2)
用户如何表明输入已完成?输入的格式如何? 我想:
您需要一个ArrayList,因为在开始要求之前您不知道输入的数量。 ArrayList是dinamic,因此您可以在不声明其大小的情况下向其中添加内容。
Scanner s = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<>();
while(s.hasNextInt()){
list.add(s.nextInt());
}