道歉,因为我确信这是一个愚蠢的问题,但是......
请有人向我解释原因:
public class java {
public static void main(String[] args) {
byte zero = 0;
short one = 1;
int three = 3;
long one2 = 1;
float onepointnought = 1.0f;
double onedotnone = 1.0;
char letterh = 'H';
char letterw = 'w';
char letterr = 'r';
char letterd = 'd';
boolean bool = true;
String output = letterh + three + one + one2 + zero + " " + letterw + zero + letterr + one + letterd + " " + (onepointnought+onedotnone) + " " + bool;
System.out.println(output);
} }
正在输出:
77 w0r1d 2.0 true
我期待它说“H3ll0 w0r1d 2.0 true”
来自http://www.learnjavaonline.org/
的交互式在线java教程谢谢!
尼尔。
答案 0 :(得分:1)
在这句话中
String output = letterh + three + one + one2 + zero + " " + letterw + zero + letterr + one + letterd + " " + (onepointnought+onedotnone) + " " + bool;
letterh
包含'H',其ASCII值为72&添加three + one + one2 + zero
为5,因为它们是非字符串变量,因此它在结果中显示(72 + 5)77
,
您必须将three
,one
,one2
,zero
转换为sting变量