import java.io.IOException;public class Test { /**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO 自动生成方法存根 int i=0;
while(i==0)
{
System.out.println("Press c to continue.");
if(System.in.read()=='c')
break;
}//while
System.out.println("c was pressed.");
}}
有这样一个程序,问从键盘输入b并按回车,屏幕上显示什么?
运行结果:
Press c to continue.
Press c to continue.
Press c to continue.可是我觉得这是一个死循环,从键盘输入b后,屏幕上只有显示一个Press c to continue.啊
为什么会有3个呢?
到底这是问什么?
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO 自动生成方法存根 int i=0;
while(i==0)
{
System.out.println("Press c to continue.");
if(System.in.read()=='c')
break;
}//while
System.out.println("c was pressed.");
}}
有这样一个程序,问从键盘输入b并按回车,屏幕上显示什么?
运行结果:
Press c to continue.
Press c to continue.
Press c to continue.可是我觉得这是一个死循环,从键盘输入b后,屏幕上只有显示一个Press c to continue.啊
为什么会有3个呢?
到底这是问什么?
第一次:System.out.println("Press c to continue.");
然后
在这个地方等待 System.in.read()
然后,你们输了个b 和回车
他执行了两次循环。
继续等待你的输入。
Press c to continue.
b
Press c to continue.
Press c to continue.
Press c to continue.
我是问后来为什么有这么多的Press c to continue.?
read()这个方法每次只读取一个字符,而b算一个,回车算两个,所以就有三次了。
你可以试验一下,单纯回车,会输出两次Press c to continue.