package first.test;
import java.io.*;
public class rte{
public static void main(String args[]){
int a=0;
try {
a=System.in.read();
}catch(IOException e) {
e.printStackTrace();
}
System.out.println("计算矩形面积是:"+a);
}
}
45
计算矩形面积是:52
System.in.read()返回一个整型字节数据,该数据表示的是字节因此是Unicode的第一个字节或是字符的ASCII码值
read函数返回的是第一个字符'4'的ASCII码。'4'的ASCII码就是52
你输入4开头都是输出52
=========
要想输入整数,应该用
Scanner scan = new Scanner(System.in);
a = scan.nextInt();
来实现
ava 中的System.in.read()
功能:
1.这个方法返回输入内容的ASCII码值。例如用int a=System.in.read();再输出a的值,结果会是49;
2.这个方法只提取输入流的第一个字符。例如你输入abcde,再输出a的值的时候,结果是97;
3.此方法把空格,TAB,回车等间隔符都当作输入流,如TAB键输出后为9,Enter键输出后对应两个ASCII码值,为13和10。
4.如果输入的为小数,此方法会将其分解,如输入1.2,分别用a,b,c三个变量接受的或,在输出a,b,c,结果是49,46(逗号的ASCII码值),50。
这种方法用的地方比较少
用Scanner流输入:
public static void main(String[] args) {
int a=0;
Scanner in=new Scanner(System.in);
a=in.nextInt();
System.out.println("计算矩形面积是:"+a);
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!