服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - java输入时如何通过回车(enter)来结束输入

java输入时如何通过回车(enter)来结束输入

2022-12-15 16:27weixin_41886640 Java教程

这篇文章主要介绍了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回车结束输入一行

题目

java输入时如何通过回车(enter)来结束输入

在论坛找到这种方法:

Scanner s =new Scanner(System.in);
String str="";
do {
	str=s.nextLine();
	if(s.hasNextLine())
		break;
	}while(true);
System.out.println(str);

经实践,此法不通:

java输入时如何通过回车(enter)来结束输入

需要两个回车才能结束输入。

发现该解法

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

java输入时如何通过回车(enter)来结束输入

将字符串作为输入流,空格为间隔符:

源码:

java输入时如何通过回车(enter)来结束输入

this调用下面构造函数:

java输入时如何通过回车(enter)来结束输入

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文地址:https://blog.csdn.net/weixin_41886640/article/details/86788907

延伸 · 阅读

精彩推荐