java中怎么不停的将输入的数存入数组(不知道长度),以回车结束。

主要有两点,一个是数组长度不确定,一个是:怎么以回车结束循环... 主要有两点,一个是数组长度不确定,一个是:怎么以回车结束循环 展开
 我来答
匿名用户
2018-02-04
展开全部
如果你是接受控制台的输入,建议使用sanner这个类,new一个这样的类,构造方法传入system.in,这个类有一个nextint方法接受数字型输入,至于存储,可以使用list,最后在调用toarray方法转成数组
百毒千毒
2018-02-04 · TA获得超过4737个赞
知道大有可为答主
回答量:2504
采纳率:88%
帮助的人:657万
展开全部
1.先明确一点你数字与数字之间是有分隔符号的吧,比如逗号,或者空格..
2.回车是\r\n
3.其实你控制台输入的,都可以用字符串形式接受,然后根据你输入的间隔符号(比如逗号和空格)
  然后进行切割,nextLine这函数就侦测回车符号的,一旦你回车就算一行结束!
4.不知道数组长度,解决办法很多:
其实你一切割,就能拿到你输入数字的个数了,就是切割后的数组长度;

办法1:你不能输入1024个长度单位的数组吧?数组就定那么长,就可以了,取的时候取有有效位即可!
办法2:用容器,ArrayList存,这玩意底层也是数组特点就是自增长,就是它看长度不够就立马加长一点
办法3:你还是用数组,根据方法2的原理,先定义10个长度,然后进行判断,切割后的数组长度超过
你定义的长度,就在数组内部顶一个临时的新数组,长度也自增长,然后在把临时数组提交给原有
的数组即可!
算了写一个简单点的:输入的时候数字之间逗号隔开,我只是用逗号在切割,当然你也可以换成其他
符号!
import java.util.Scanner;
public class NumberTest {
public static void main(String[] args) {
String str=new Scanner(System.in).nextLine();
String[] srr=str.split(",");
ArrayList<Number> list=new ArrayList<>();
for (int i = 0; i < srr.length; i++) {
list.add(Integer.valueOf(srr[i]));
}
System.out.println(list);
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在万峰山回老家的雨天
2021-10-25
知道答主
回答量:2
采纳率:0%
帮助的人:1058
展开全部
用集合比较好. set list 如果只会用数组的话; 可以选择扩容. 扩一次存一次.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式