import java.util.Scanner;
import java.io.*;
public class s {
public static void main(String[] args){
Scanner c=new Scanner(System.in);
int n=c.nextInt();
System.out.print(n);
int a;
try{
a=System.in.read();
System.out.print(a);
}catch(Exception e){}
}
}
输出结果:
3
3
4
52
请问52是哪里来的呢?
import java.io.*;
public class s {
public static void main(String[] args){
Scanner c=new Scanner(System.in);
int n=c.nextInt();
System.out.print(n);
int a;
try{
a=System.in.read();
System.out.print(a);
}catch(Exception e){}
}
}
输出结果:
3
3
4
52
请问52是哪里来的呢?
System.out.println((int)'\n'); --------10
System.out.println((int)'4'); --------52
ascii值,你懂的。
你说的52是你输入的4对应的ascii码。
2楼说的13是“回车”对应的ascii码。
package test;import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;public class Test1 { /**
*【描述】:
*【作者】:alaric
*【时间 】:May 30, 2012
* @throws Exception
*
*/
public static void main(String[] args) throws Exception {
InputStream inputStream = System.in;
Integer a = inputStream.read();
System.out.print(a);
}}
你的代码前面一段是干扰的,就直接用我这个测试。
测试结果就是输入字符 输出ascii码。
你要了解inputStream 的read()方法,public abstract int read()
throws IOException从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。
子类必须提供此方法的一个实现。 读的就是流的字节 输出的值就是流的ascii值。