我是新手,我在网上搜索并发现它有点令人沮丧,我得到的只是在java数组中无法重新调整大小。我只是想知道如何创建一个空数组,然后提示用户输入数字来填充数组?我不想定义像int[] myArray = new int[5];
这样的区域的容量我想定义一个用户定义容量的空数组,例如 - 它们在数字后面输入数字,然后输入单词end来结束程序,然后他们输入的所有数字都将被添加到空数组中,数字量将是数组的容量。
答案 0 :(得分:5)
当用户在命令行中输入数字时,您不能创建一个空数组,然后让它动态增长。您应该读取数字并将它们放在ArrayList中。 ArrayList不需要初始大小,并且动态增长。像这样:
public void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
BufferedReader console =
new BufferedReader(new InputStreamReader(System.in));
while(true) {
String word = console.readLine();
if (word.equalsIgnoreCase("end") {
break;
} else {
numbers.add(Integer.parseInt(word);
}
}
当然你没有使用while(true)
并且你不会把它放在main
中,但这仅仅是为了示例
答案 1 :(得分:4)
怎么样:
Scanner scan = new Scanner(System.in);
System.out.print("Enter the array size: ");
int size = scan.nextInt();
int[] yourArray = new int[size];
//can even initialize it
Arrays.fill(yourArray, -1);
答案 2 :(得分:1)
尝试ArrayList,它是一个动态数组 http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
答案 3 :(得分:1)
import java.util.Scanner;
public class Ex {
public static void main(String args[]){
System.out.println("Enter array size value");
Scanner scanner = new Scanner(System.in);
int size = scanner.nextInt();
int[] myArray = new int[size];
System.out.println("Enter array values");
for(int i=0;i<myArray.length;i++){
myArray[i]=scanner.nextInt();
}
System.out.println("Print array values");
for(int i=0;i<myArray.length;i++){
System.out.println("myArray"+"["+i+"]"+"="+myArray[i]);
}
}
}
答案 4 :(得分:0)
从用户输入中获取n
并:
int a [] = new int [n];
答案 5 :(得分:0)
由于您使用的是整数,因此可以通过以下示例尝试使用 ArrayList :
ArrayList<Integer> integerListArray = new ArrayList<Integer>();