java输入时如何通过回车(enter)来结束输入
输入时通过回车(enter)来结束输入
在编写java程序的时候,我们想通过输入回车来完成这一行的输入,这是一个非常常见的问题,但是如果我们是用Scanner ,然后通过nextInt()方法调用的时候,不会停止输入,回打出一个空行,然后等着你继续输入下一个数字。
解决办法
我们可以设置两个Scanner 第一个以行为单位读取数据,这样就相当于是用回车(enter)当作结束符,
然后把读取到的字符串传入第二个Scanner, 然后在进行处理
ArrayList<Integer> arr = new ArrayList() ; System.out.println("Enter a space separated list of numbers:"); Scanner in = new Scanner(System.in); String line = in.nextLine(); Scanner in2 = new Scanner(line); while(in2.hasNextInt()){ arr.add(in2.nextInt()); } System.out.println("The numbers were:"+arr.toString());
只需要把nextInt 或者hasnextint等函数改成你所需要的函数名就可以实现 不同的输入,但是是以回车(enter)为结尾了。
java回车结束输入一行
题目
在论坛找到这种方法:
Scanner s =new Scanner(System.in); String str=""; do { str=s.nextLine(); if(s.hasNextLine()) break; }while(true); System.out.println(str);
经实践,此法不通:
需要两个回车才能结束输入。
发现该解法
Scanner s= new Scanner(System.in); String str=s.nextLine(); Scanner st=new Scanner(str); ArrayList a =new ArrayList(); while(st.hasNextInt()) a.add(st.nextInt()); System.out.println(a);
将字符串作为输入流,空格为间隔符:
源码:
this调用下面构造函数:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java操作Elasticsearch rest-high-level-client 的基本使用
这篇文章主要介绍了Java操作Elasticsearch rest-high-level-client 的基本使用,本篇主要讲解一下 rest-high-level-client 去操作 Elasticsearch的方法,结合实例代码给大家详细讲解,需要的朋友可以参考下2022-10-10Java Web项目中使用Socket通信多线程、长连接的方法
很多时候在javaweb项目中我们需要用到Socket通信来实现功能,在web中使用Socket我们需要建立一个监听程序,在程序启动时,启动socket监听。接下来通过本文给大家介绍Java Web项目中使用Socket通信多线程、长连接的方法,感兴趣的朋友一起学习2016-04-04spring cloud gateway集成hystrix全局断路器操作
这篇文章主要介绍了spring cloud gateway集成hystrix全局断路器操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-07-07
最新评论