所以也许很多人都知道我们需要做的关于学习原语的练习,我们需要打印h3110 w0r1d 2.0 true
所以我的是这个;
public class main {
public static void main(String[] args) {
// H3110 w0r1d 2.0 true
byte bir = 0;
short iki = 31;
int uc = 10;
long dort = 1;
float bes = 2.0f;
char yedi = 'H';
char sekiz = 'w';
char dokuz = 'd';
char ekstra = ' ';
char ramk = 'r';
boolean on = true;
String son = (yedi + iki + uc + ekstra + sekiz + bir + ramk + dort + dokuz + ekstra + bes + ekstra + on );
System.out.println(son);
}
Run Code Online (Sandbox Code Playgroud)
}
他们的解决方案是这样的;
public class Main {
public static void main(String[] args) {
byte zero = 0;
short a = 3;
int b = 1;
char d = ' ';
float e = 2.0f;
boolean f = true;
String output = "H" + a + b + b + zero + d + "w" + zero + "r" + b + "d" + d + e + d + f;
System.out.println(output);
}
Run Code Online (Sandbox Code Playgroud)
}
所以我给了我布尔和浮点错误,但是我不知道那些原语有什么问题.
我得到的错误就是这个
Main.java:16: error: bad operand types for binary operator '+'
String son = (yedi + iki + uc + ekstra + sekiz + bir + ramk + dort + dokuz + ekstra + bes + ekstra + on );
^
Run Code Online (Sandbox Code Playgroud)
first type:float second type:boolean 1 error
这条线:
String son = (yedi + iki + uc ...
Run Code Online (Sandbox Code Playgroud)
将不同类型的多个参数(其中没有一个是字符串)的串联分配到字符串中.
"解决方案"是通过将字符串连接到其他参数来开始赋值:
String output = "H" + a + b + ...
^
Run Code Online (Sandbox Code Playgroud)
这将把其余的 - 投射到弦上.
您可以通过在开头添加空字符串来对第一个示例执行相同的操作:
String son = ("" + yedi + iki + uc ...
^
Run Code Online (Sandbox Code Playgroud)
附注:我完全同意TJ Crowder上面的评论......
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |