例3-4 从键盘读入一个‘0’-‘9’之间的数字字符,转换成相对应的int数值后输出
import java.io.*;
class jex3_4{
public static void main(String args[]throws IOException{
byte x;//为什么这里不是用 char x;
System.out.println("请输入一个0-9之间的数字字符:");
x=(byte)System.in.read();//为什么这里不用x=(char)System.in.read();
int y=x-48;//为什么这里要减去48呢
System.out.println("对应的数值为:"+y);
}
}
import java.io.*;
class jex3_4{
public static void main(String args[]throws IOException{
byte x;//为什么这里不是用 char x;
System.out.println("请输入一个0-9之间的数字字符:");
x=(byte)System.in.read();//为什么这里不用x=(char)System.in.read();
int y=x-48;//为什么这里要减去48呢
System.out.println("对应的数值为:"+y);
}
}
解决方案 »
- synchronized能不能被继承呢
- 一个JAVA新手的 垃圾问题 大大们帮帮忙
- 又来麻烦大家了,一个很基础的问题
- JNI的中文问题?
- 问一道线程的题?
- 已有一个现成的Web系统,可以看但不能修改,从主页到达result画面需要Login画面,search画面,现从另一个系统直接到达result画面如何解决?
- java 中连oracle 报错 请大家帮忙看看
- 问个很简单的问题:如何把一个double数值只保留前n位小数?急!!
- 求助棘手难题
- java 入门经典资料【大牛可以闪开,哈哈哈哈】
- 一些比较典型的Java笔试题,欢迎讨论,持续关注中,欢迎补充,同时也希望斑竹置顶。
- 怎么使JLabel背景色起效
class jex3_4{
public static void main(String args[])throws IOException{
byte x;//可以用char,不过char占16bit的空间,byte只8bit.你要是愿意这里可以直接用int型
System.out.println("请输入一个0-9之间的数字字符:");
x=(byte)System.in.read();//同上,上面用什么就用什么.其实System.in.read()返回的就是int型
int y=x-48;//System.in.read()返回的是ASCII码值,1对应的值是49,2是50.....
System.out.println("对应的数值为:"+y);
}
}
String str=reader.readln();
int a =Integer.parseInt(str);
System.out.println(a);
y=x-48
其实是 y=x-'0';
一般是将一个0-9之间的数字字符转化为整数