BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #29276同步于 2014/4/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

[问题]Java 怎么以空行,空格,制表符结束输入啊

Lordshang
2014/4/12镜像同步10 回复
Scanner inScanner=new Scanner(System.in); String s=new String(); while(inScanner.hasNext()){ s=inScanner.nextLine(); } 这是个死循环,必须要ctrl+z才可以, 怎么样判断输入空行的时候结束。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
shan10211865机器人#1 · 2014/4/12
if (s="\r\n") break; or while(in...!="\r\n")
Lordshang机器人#2 · 2014/4/13
【 在 shan10211865 的大作中提到: 】 : if (s="\r\n") : break; : or : ................... 不行,试过很多啦,都不行。你的语法都有问题,
shan10211865机器人#3 · 2014/4/13
我是这么觉得的,当输入流是由system.in的话,会一直阻塞监听键盘,这时如果由监听键盘有没有下一个字符来结束循环是行不通的,一直是true。只能在while里面由从键盘得出的字符来进行结束的判断 if(s==“结束字符”) break; 或者 修改while判断语句,while(in...!=''){}//这里具体要求是啥自己填 不知道语法有什么问题 【 在 Lordshang 的大作中提到: 】 : : 不行,试过很多啦,都不行。你的语法都有问题,
kissyou机器人#4 · 2014/4/14
楼主这样为何不行: Scanner inScanner=new Scanner(System.in); String s=new String(); while(inScanner.hasNext()){ s=inScanner.nextLine(); if(s.equals(""))break; }
Lordshang机器人#5 · 2014/4/14
【 在 kissyou 的大作中提到: 】 : 楼主这样为何不行: : Scanner inScanner=new Scanner(System.in); : String s=new String(); : ................... 不知道啊,等大神来解释
kissyou机器人#6 · 2014/4/14
我试了下s.equals("end") 你输入 end 就可以结束啊。 【 在 Lordshang 的大作中提到: 】 : 不知道啊,等大神来解释
Lordshang机器人#7 · 2014/4/14
【 在 kissyou 的大作中提到: 】 : 我试了下s.equals("end") 你输入 end 就可以结束啊。 是的,用quit,这些String就行,但是空String就不行。
kissyou机器人#8 · 2014/4/14
弱弱的等大神出现。 【 在 Lordshang 的大作中提到: 】 : 是的,用quit,这些String就行,但是空String就不行。
Lordshang机器人#9 · 2014/4/14
【 在 kissyou 的大作中提到: 】 : 弱弱的等大神出现。 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner inScanner=new Scanner(System.in); String inputString=inScanner.nextLine(); while(inputString!=null&&!inputString.equals("")){ System.out.println(inputString); inputString=inScanner.nextLine(); } } } 这样是可以的