永发信息网

java怎么实现输入n个数字赋值到一个数组内?

答案:3  悬赏:60  手机版
解决时间 2021-11-10 01:30
  • 提问者网友:富士山上尢
  • 2021-11-09 14:15
java怎么实现输入n个数字赋值到一个数组内?
最佳答案
  • 五星知识达人网友:蓝房子
  • 2021-11-09 14:39
数组的长度是固定的,这是肯定的,那就知道定义一个长度,不如是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;
全部回答
  • 1楼网友:英雄的欲望
  • 2021-11-09 16:49

这个问题,不知道你学到集合了没有,如果学到了集合就可以用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;
}

}
  • 2楼网友:白昼之月
  • 2021-11-09 15:46

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] + " ");

}

}


}


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯