【Java教程】输入空行结束问题解决方法

零 Java教程评论134字数 1849阅读6分9秒阅读模式

所需工具:

Java

聪明的大脑文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

勤劳的双手文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

 文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

注意:本站只提供教程,不提供任何成品+工具+软件链接,仅限用于学习和研究,禁止商业用途,未经允许禁止转载/分享等文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

 文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

介绍

java输入空行结束
最近两次笔试都被这一个问题困扰
java输入数据,空格继续,回车结束输入
普通版
升级版文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

 文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

教程如下

java输入空行结束

最近两次笔试都被这一个问题困扰

如何在输入空行后停止输入,尝试了各种方法,以下是可以实现该目的的代码:文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

[php]文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(true){//第一处
String s = in.nextLine();
if(s.equals(""))//第二处
break;
System.out.println(s);
}
System.out.println("Over Input");
}文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12076.html

[/php]

以上代码第一处判断条件可以替换为in.hasNextLine(),但是不可以是in.hasNext().第二处判断条件可以是s.isEmpty(),也可以是s.length == 0。

我查找资料发现:

next()与nextLine有以下区别:

next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。

简单地说,next方法不能得到带空格的字符串。

而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。

java输入数据,空格继续,回车结束输入

普通版

可输入,可输出。带详细的注释

[php]

import java.util.Scanner;
public class SumDemo {
public static void main(String[] args) {
System.out.println("请输入两个数字,中间用空格隔开,例如5 5");
//得到一个扫描器,用来扫描 系统的输入
Scanner input = new Scanner(System.in);
//申明一个临时的字符串变量temp,用来保存 扫描器读取的一行;
String temp = input.nextLine();
//temp字符串首先trim()一下,就是去掉两边的空白,
//因为有的人可能输入的是 空格5空格5空格回车。.
//所以去掉两边的空格变成 5空格5回车 就符合要求了
//split(" ")方法表示,用空格去切割字符串,返回的结果是一个字符串数组
String[] ss = temp.trim().split(" ");
//从两个字符串中解析得到两个数字,并求和
int num1 = Integer.parseInt(ss[0]);
int num2 = Integer.parseInt(ss[1]);
int sum = num1+num2;
//输出结果
System.out.println("输入的数字是"+num1+" "+num2+"两数的和是:"+sum);
//养成良好的习惯,打开了的资源要记得关闭,我们打开了扫描器,就要关闭扫描器
input.close();
}
}

[/php]

升级版

可重复输入数字,重复输出结果,并带退出功能、

[php]

import java.util.Scanner;
public class SumTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while(true){
System.out.println("如果输入exit,那么退出。输入两个数字,用空格隔开");
String temp = input.nextLine();
if(temp.trim().equals("exit")){
break;
}
String[] ss = temp.trim().split(" ");
int num1 = Integer.parseInt(ss[0]);
int num2 = Integer.parseInt(ss[1]);
int sum = num1+num2;
System.out.println("输入的数字是"+num1+" "+num2+"两数的和是:"+sum);
}
input.close();
}
}

[/php]

零
  • 转载请务必保留本文链接:https://www.0s52.com/bcjc/javajc/12076.html
    本社区资源仅供用于学习和交流,请勿用于商业用途
    未经允许不得进行转载/复制/分享

发表评论