//虽然我会用JAVA,但是底层的东西仍然是菜鸟。见笑了
我写了一个测试terminalIO的class代码如下:
package cn.cairuzhang.test;import java.io.IOException;public class terminalIO {
public static void main(String[] args)throws IOException{
int i;
while((i = System.in.read())!= -1){
i = Character.toLowerCase((char)i);
System.out.write(i);
}
}
}
上面的运行是正确的。但是当我加入下面的语句
package cn.cairuzhang.test;import java.io.IOException;public class terminalIO {
public static void main(String[] args)throws IOException{
int i;
while((i = System.in.read())!= -1){
i = Character.toLowerCase((char)i);
System.out.write(i);
System.out.write(i);
}
}
}
结果就出现了一点奇特的地方::
U
uu
I
ii
//每次输出都带两个空行?!
然后我继续修改代码如下:
package cn.cairuzhang.test;import java.io.IOException;public class terminalIO {
public static void main(String[] args)throws IOException{
int i;
while((i = System.in.read())!= -1){
i = Character.toLowerCase((char)i);
System.out.write(i);
System.out.print("test");
}
}
}
结果shi:
MAYBE
mtestatestytestbtestetest
test
test
//依然多出两行,不过即使是print而不是println,仍然会过行……
我有点疑惑其中的原因,所以发帖问问大家。不过也许是非常浅显的知识,我是菜鸟,请见谅、谢谢啦java
我写了一个测试terminalIO的class代码如下:
package cn.cairuzhang.test;import java.io.IOException;public class terminalIO {
public static void main(String[] args)throws IOException{
int i;
while((i = System.in.read())!= -1){
i = Character.toLowerCase((char)i);
System.out.write(i);
}
}
}
上面的运行是正确的。但是当我加入下面的语句
package cn.cairuzhang.test;import java.io.IOException;public class terminalIO {
public static void main(String[] args)throws IOException{
int i;
while((i = System.in.read())!= -1){
i = Character.toLowerCase((char)i);
System.out.write(i);
System.out.write(i);
}
}
}
结果就出现了一点奇特的地方::
U
uu
I
ii
//每次输出都带两个空行?!
然后我继续修改代码如下:
package cn.cairuzhang.test;import java.io.IOException;public class terminalIO {
public static void main(String[] args)throws IOException{
int i;
while((i = System.in.read())!= -1){
i = Character.toLowerCase((char)i);
System.out.write(i);
System.out.print("test");
}
}
}
结果shi:
MAYBE
mtestatestytestbtestetest
test
test
//依然多出两行,不过即使是print而不是println,仍然会过行……
我有点疑惑其中的原因,所以发帖问问大家。不过也许是非常浅显的知识,我是菜鸟,请见谅、谢谢啦java
http://blog.sina.com.cn/s/blog_6abf2a620100sfqd.html
执行时,按回车键导致输出(直到出现换行符时,才将打印缓冲中的内容打印出来),而回车键是2个字符:回车、换行
所以,两个write,就出现2个空行,因为输出了2个换行符