站内搜索: 请输入搜索关键词

当前页面: JAVA 编程资料牛鼻论坛Java & J2SE 技术区→java 键盘输入(新手问题)

java 键盘输入(新手问题)

发表新主题   回复此主题

第1楼 2007-07-26 19:00 aiatchina 写道:

java 键盘输入(新手问题)

我想实现连续用键盘输入两个数,代码部分如下:
try{
System.out.println("请输入一个整数:");
innum=(int)System.in.read();

}
catch(IOException e){}
try{
System.out.println("请输入一个实数");
infnum=System.in.read();
}
catch(IOException e){}
运行时,不知怎的,第二个数根本就没提示输入,直接按第一个来处理的。请高手给指点一下。谢谢。

第2楼 2013-08-31 12:44 Robot :

java 键盘输入(新手问题) 相关


第3楼 2007-08-02 12:24 金色天空 写道:

这个错误我也不太清楚,我平时也不怎么用System.in.read()来读入的。
建议楼主试试BufferedReader和Scanner来读入,应该会很方便的。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.read()或者br.readLine()来读入行。

Scanner in = new Scanner(System.in);
in.nextLine()读入行,in.next()读入到空格或者回车为止的string,
in.nextInt(),in.nextDouble,in.nextFloat等方法可以用,楼主可以查一下java的api

刚才仔细想了一下,可能第二次的read方法读到的是,你第一次打完数字后的那个回车符号。read方法不是在你输出“请输入一个实数”后才监听键盘的,他是按顺序接受你从键盘上打入的每一个符号。所以我推荐的两个类都有读行的方法,这样你输入回车符会被过滤掉。
该回答在8月2日 9:34由回答者修改过

第4楼 2007-08-03 03:13 yanhuahuo 写道:

实际上第二个已经读取了
只是一个回车是\r\n,同样也是字符
第二个读取的应该是\r

发表新主题   回复此主题