Java输入后while循环不结束

风非扉 2017-08-31 12:02:59
import java.util.Scanner;
import java.util.ArrayList;
public class Test3 {
static ArrayList<Integer> arrayList = new ArrayList<Integer>();

public static void main(String args[]) {

Scanner in = new Scanner(System.in);


ListNode listNode1 = new ListNode(in.nextInt());

ListNode listNode = listNode1;

while(in.hasNextInt()) {
System.out.println("error3");
int n = in.nextInt();
ListNode listNode2 = new ListNode(n);
listNode1.next =listNode2;
listNode1=listNode2;
System.out.println("error5");
}
System.out.println("error2");

System.out.println(printListFromTailToHead(listNode));
}
public static ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if(listNode!=null){
printListFromTailToHead(listNode.next);
arrayList.add(listNode.val);
}
return arrayList;
}
}

class ListNode{
int val;
ListNode next = null;

ListNode(int val){
this.val = val;
}
}

不知道为什么while循环后的语句就不继续执行了,求教各位大神
...全文
3234 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengshuo850420 2017-09-04
  • 打赏
  • 举报
回复
while(in.hasNextInt()) 一直处于输入等待中,需要在循环里面加上退出逻辑
soton_dolphin 2017-08-31
  • 打赏
  • 举报
回复
你需要提供一个标记,告诉while 循环输入已经结束,不然这个循环就不会结束
sjjk 2017-08-31
  • 打赏
  • 举报
回复
while(in.hasNextInt()) 这一行不是说你不输入,里面的表达式就返回false了,而是你输入非数字,才返回false,如果不输入,就一直等你输入
风非扉 2017-08-31
  • 打赏
  • 举报
回复
就是说输入的时候最后一个可以输入一个非数字字符就可以了是吧

13,100

社区成员

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

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