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

如图,怎么实现arr内的元素由用户输入任意个数字,也就是数组的长度和数组内元素都不确定... 如图,怎么实现arr内的元素由用户输入任意个数字,也就是数组的长度和数组内元素都不确定 展开
 我来答
梦湾李0N
2018-04-09 · TA获得超过1314个赞
知道小有建树答主
回答量:45
采纳率:92%
帮助的人:4.1万
展开全部

数组的长度是固定的,这是肯定的,那就知道定义一个长度,不如是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;

蜗牛46
2016-10-04 · TA获得超过1015个赞
知道小有建树答主
回答量:1176
采纳率:50%
帮助的人:657万
展开全部

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

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
优质内容提供者andy
2016-10-04 · TA获得超过1561个赞
知道大有可为答主
回答量:2551
采纳率:72%
帮助的人:765万
展开全部

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

}

}


}


本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式