在Java中为整数系列创建数组?

在Java中为整数系列创建数组?,java,arrays,list,Java,Arrays,List,我已经起床几个小时了,试图找到一个解决办法 我的程序要求用户输入一个整数列表(例如:52561)。 然后我想创建一个数组,并连续地将每个整数存储到其各自的数组索引中 这是我的程序中有问题的部分(这个程序本来打算稍后通过一种方法执行计算,但我没有包括这个): 如您所见,我正在实例化数组“list1Array”,但问题是我不知道用户将输入多少个整数!如果有办法知道输入了多少个整数。。。任何帮助都将不胜感激! 谢谢 塞巴斯蒂安使用,在您的情况下可以: List<Integer> list1

我已经起床几个小时了,试图找到一个解决办法

我的程序要求用户输入一个整数列表(例如:52561)。 然后我想创建一个数组,并连续地将每个整数存储到其各自的数组索引中

这是我的程序中有问题的部分(这个程序本来打算稍后通过一种方法执行计算,但我没有包括这个):

如您所见,我正在实例化数组“list1Array”,但问题是我不知道用户将输入多少个整数!如果有办法知道输入了多少个整数。。。任何帮助都将不胜感激! 谢谢 塞巴斯蒂安

使用,在您的情况下可以:

List<Integer> list1Array = new ArrayList();

while (input.hasNext()){
    list1Array.add(input.nextInt());
    x++;
}
List list1Array=new ArrayList();
while(input.hasNext()){
list1Array.add(input.nextInt());
x++;
}
导入java.util.Scanner;
公共类分配627{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
//int[]list1Array=新int[1];
List list1Array=new ArrayList();
System.out.println(“输入列表1:”);
while(input.hasNext()){
list1Array.add(input.nextInt());
}   
}
}
一个,就像一个没有预定义大小的数组,它会动态地更改其大小;正是你要找的。您可以通过
list1Array.size()获取其大小


如果坚持将最终结果作为数组,则可以稍后调用。将非常有用。

您应该将输入作为字符串,然后使用string.split(“”);然后获取表示每个数字的字符串数组。通过字符串标记可以获得字符串数组

更新


但是您应该注意不要将其他字符作为数字的分隔符。如果您确实想使用
数组,请执行以下操作:

import java.util.Scanner;

public class Assignment627 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int x = 0;
        int[] list1Array = new int[1];

        System.out.println("Enter list1: ");
        while (input.hasNext()) {
            list1Array[x] = input.nextInt();
            x++;
            int[] temp = new int[list1Array.length + 1];

            for (int i = 0; i < list1Array.length; i++) {
                temp[i] = list1Array[i];
            }

            list1Array = temp;
        }
    }
}
import java.util.Scanner;
公共类分配627{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int x=0;
int[]list1Array=新int[1];
System.out.println(“输入列表1:”);
while(input.hasNext()){
list1Array[x]=input.nextInt();
x++;
int[]temp=new int[list1Array.length+1];
for(int i=0;i
使用
ArrayList
代替int[]
int[]list1Array=newint[1]不起作用。使用一个
List list1Array=new List()。它将为您创建一个空列表,您可以根据索引向其中添加数据。阅读Java中的列表。@hagubear您的意思是
List List=new ArrayList(),您的答案是C#@EpicPandaForce我忘了有些集合实现采用类类型,而不是原语。谢谢你的回答。我喜欢你的答案,但编辑了一点。投票结果如下:
Enter elemnt size 
4
Enter number
2
Enter number
3
Enter number
4
Enter number
2
[2, 3, 4, 2]
List<Integer> list1Array = new ArrayList();

while (input.hasNext()){
    list1Array.add(input.nextInt());
    x++;
}
import java.util.Scanner;
public class Assignment627 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        //int[] list1Array = new int[1];
        List<Integer> list1Array = new ArrayList<>();

        System.out.println("Enter list1: ");
        while (input.hasNext()){
            list1Array.add(input.nextInt());
        }   
    }

}
import java.util.Scanner;

public class Assignment627 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int x = 0;
        int[] list1Array = new int[1];

        System.out.println("Enter list1: ");
        while (input.hasNext()) {
            list1Array[x] = input.nextInt();
            x++;
            int[] temp = new int[list1Array.length + 1];

            for (int i = 0; i < list1Array.length; i++) {
                temp[i] = list1Array[i];
            }

            list1Array = temp;
        }
    }
}