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

2022-07-15,,,,

输入时通过回车(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输入时如何通过回车(enter)来结束输入.doc》

下载本文的Word格式文档,以方便收藏与打印。