如何实现从键盘输入任意的整型数组(空格分开),然后转存到ArrayList中

AI吃大瓜
人工智能领域优质创作者
博客专家认证
2016-03-24 11:13:37
实现从键盘输入任意的整型数组(空格分开),然后转存到ArrayList中,问题是在while循环,我在Eclipse的Console输入1 2 3 4 5 然后【回车】,一直就不能跳出循环运行输出 System.out.print(list);



import java.util.ArrayList;
import java.util.Scanner;

public class JavaTest1 {
public static void main(String args[]) {
// 实现从键盘输入任意的整型数组(空格分开),然后转存到ArrayList中
// 如:输入1 2 3 4 5 输出:[ 1 2 3 4 5]
Scanner sc = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<Integer>();
// 问题在while循环,我在Eclipse的Console输入1 2 3 4 5 然后回车,一直就不能跳出循环,输出
// System.out.print(list);
while (sc.hasNextInt()) {
list.add(sc.nextInt());
}
System.out.print(list);
}
}
...全文
501 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AI吃大瓜 2016-03-24
  • 打赏
  • 举报
回复
非常谢谢大神~
Beginner_kk 2016-03-24
  • 打赏
  • 举报
回复
Scanner sc = new Scanner(System.in);
        ArrayList<Integer> list = new ArrayList<Integer>();
        while (sc.hasNextLine()) {
            String[] str = sc.nextLine().split(" ");
            for(String a : str){
                list.add(Integer.valueOf(a));
            }
            break;
        }
        System.out.println(list);
AI吃大瓜 2016-03-24
  • 打赏
  • 举报
回复
怎么判断呢?
Spinach007 2016-03-24
  • 打赏
  • 举报
回复
那再在循环里面加一个if判断,符合条件就跳出循环。
  • 打赏
  • 举报
回复
楼上正解,你可以自己定义一个结束符,遇到的话就跳出循环
三仙半 2016-03-24
  • 打赏
  • 举报
回复
sc.hasNextInt()会阻塞主线程,在那里等待你的输入,除非它能见到一个无法转化成整数的输入,你试着输入“1 2 3 a”,然后回车看看效果。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧