首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java小程序中的奇怪有关问题

2012-03-02 
java小程序中的奇怪问题package BangBeanpublic class CastingNumbers {[codeJava][/code]public static

java小程序中的奇怪问题
package BangBean;

public class CastingNumbers {[code=Java][/code]
public static void main(String[] args){
double above=1.7,below=0.4;
System.out.println("above:"+above);
System.out.println("below:"+below);
System.out.println("(int)above:"+(int)above);
System.out.println("(int)below:"+(int)below);
System.out.println("(char)('a'+above):"+(char)('a'+above));
System.out.println("(char)('a'+below):"+(char)('a'+below));
}
}
打印的结果为:
above:1.7
below:0.4
(int)above:1
(int)below:0
(char)('a'+above):b
(char)('a'+below):a
为什么会打印出b呢?

[解决办法]
System.out.println("(char)('a'+above):"+(char)('a'+above));
首先计算‘a’+above = 98.7
转为char为‘b’

[解决办法]

探讨
System.out.println("(char)('a'+above):"+(char)('a'+above));
首先计算‘a’+above = 98.7
转为char为‘b’

热点排行