public class TestSystemIn {
public static void main(String[] args) throws IOException{
InputStream is=System.in;
System.out.println("1="+(char)is.read());
System.out.println("2="+(char)is.read());
}
}输入:A
结果是:
1=A
2=2为什么没有等待输入直接输出了?
怎样才能输出1以后等待2输入再显示2啊
public static void main(String[] args) throws IOException{
InputStream is=System.in;
System.out.println("1="+(char)is.read());
System.out.println("2="+(char)is.read());
}
}输入:A
结果是:
1=A
2=2为什么没有等待输入直接输出了?
怎样才能输出1以后等待2输入再显示2啊
解决方案 »
- 如何在Linux服务器上、命令行运行Java程序
- InputStream void mark(int readlimit) 的问题
- 值不值得做
- java.util.date() 问题 急
- xp下java 环境变量设置 运行是出现异常java.lang.noclassdeffounderror
- 麻烦的问题啊!!! 急啊
- 十万个为什莫之“关于Serializable接口”
- [求助]请问JCreator里面的默认路径怎么设置?谢谢!
- 请问如何可以方便的使用UltraEdit来编写、编译Java程序?
- SOCKET编程遇到的麻烦,我一直解决不了,哪个大哥帮我。
- id to load is required for loading
- for循环题目:求代码打印出下图。
不过我一般习惯用这个,效果跟你一样,把System.in包装下import java.io.*;
import java.util.Scanner;public class TestSystemIn {
public static void main(String[] args) throws IOException{
// InputStream is=System.in;
Scanner in = new Scanner(System.in);
System.out.println("1="+in.next());
System.out.println("2="+in.next());
}
}
你就会看到输出2=13,对照ascii表一看,正好是控制字符cr。所以,你可以将in包装成带缓冲的字符流,然后使用readLine()就行了:
BufferedReader is =new BufferedReader(new InputStreamReader(System.in));
System.out.println("1="+is.readLine());
二楼正解
我想一次读入一个字节而不是一行,没有别的方法吗
public static void main(String[] args) throws IOException{
InputStream is=System.in;
System.out.println("1="+(char)is.read());
System.out.println("2="+(char)is.read());
}
}
输入AB就得到 1=A,2=B了。