用Scanner做输入的时候,如果不想输入的时候按回车结束那要怎么做?怎么我按回车了它还是回车?必须要我输入才行?
要你输入一个月份
月: 2
输出:2月
月: (问题就是在这,我用的是Scanner做输入。不输入的时候都不知道怎么让它停止。)
输出:3月(不输入的话默认是当前月)
------解决方案--------------------
设置指定字符串,当输入指定字符串时退出。
------解决方案--------------------
我当初就是在JAVA核心技术上遇到了这样子的程序,挺纳闷的,我那是就像这是怎么回事呢?难道核心技术上的程序逗哦有错?后来看看应该是他的代码的问题,无法停止输入。。。
------解决方案--------------------
public boolean hasNextInt()
如果通过使用 nextInt() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 int 值,则返回 true。扫描器不执行任何输入。
返回:
当且仅当此扫描器的下一个标记是有效的 int 值时才返回 true
while(scanner.hasNextInt()){
int n=scanner.nextInt();
}
------解决方案--------------------
其他的方法暂时不会,只能给定一个退出的字符串。。。
- Java code
import java.util.*;public class TestScanner { public static void main(String[] args) { System.out.println("输入exit,程序将终止..."); Scanner myScanner=new Scanner(System.in); while(true){ if(myScanner.next().equals("exit")){ System.out.println("程序终止!"); System.exit(0); } else{ System.out.println("你没有输入exit,程序继续等待你的输入..."); } } }}
------解决方案--------------------
inputStreamReader 可以实现这个。
------解决方案--------------------
- Java code
InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); String str=br.readLine(); }
------解决方案--------------------
Scanner是一种阻塞式输入方式,只能等待输入才能继续执行