java怎么实现输入n个数字赋值到一个数组内?
数组的长度是固定的,这是肯定的,那就知道定义一个长度,不如是10,你循环输入,每次在循环里面检测长度是否已经超出最大长度,如果已经超出,那就new一个新的数组,长度再适当增加,变为两倍或者是增加10个,然后把旧的数组复制到新的数组里面去就可以了。
具体操作如下:
1、import java.util.Arrays;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
int[ ] arr = new int[5];
2、Scanner scan = new Scanner(System.in);
int temp = 0;
int index = 0;
System.out.println("请输入数字,按999结束输入:")
while (true) {
temp = scan.nextInt();
if (temp == 999)
break;
if (index >= arr.length)
arr = kuoRong(arr);
arr[index] = temp;
index++;}
System.out.println(Arrays.toString(arr));
scan.close();
}public static int[] kuoRong(int[] arrOld) {int[] arrNew = null;
arrNew = Arrays.copyOf(arrOld, arrOld.length + 5);
return arrNew;
这个问题,不知道你学到集合了没有,如果学到了集合就可以用ArrayList,如果没有学到,那就只能变通了
数组的长度是固定的,这是肯定的,那就知道定义一个长度,不如是10,你循环输入,每次在循环里面检测长度是否已经超出最大长度,如果已经超出,那就new一个新的数组,长度再适当增加,变为两倍或者是增加10个,然后把旧的数组复制到新的数组里面去,其实这也是集合的思想
package 临时;
import java.util.Arrays;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
int[] arr = new int[5];
Scanner scan = new Scanner(System.in);
int temp = 0;
int index = 0;
System.out.println("请输入数字,按999结束输入:");
while (true) {
temp = scan.nextInt();
if (temp == 999)
break;
if (index >= arr.length)
arr = kuoRong(arr);
arr[index] = temp;
index++;
}
System.out.println(Arrays.toString(arr));
scan.close();
}
public static int[] kuoRong(int[] arrOld) {
int[] arrNew = null;
arrNew = Arrays.copyOf(arrOld, arrOld.length + 5);
return arrNew;
}
}
package keshe4;
import java.util.Scanner;
public class PrintArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入数组长度");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
System.out.println("请分别输入每个数字");
int[] arr = new int[num];
for(int i = 0; i < num; i++){
arr[i] = sc.nextInt();
}
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + "\t");
}
}
}