所以我在eclipse中制作一个JAVA程序,显示所有可能的3位数正数。我正在使用 for loops 的堆叠来这样做。这是我第一次尝试 -
public class go {
public static void main(String[] args) {
for(int firstNum = 0;firstNum<10;firstNum++){
for (int secondNum = 0;secondNum<10;secondNum++){
for(int thirdNum = 0;thirdNum<10;thirdNum++){
System.out.println(firstNum+secondNum+thirdNum);
}}}}}
这个问题的答案是不同的1位数字和2位数字的混合,它们在一个循环中重复出现。这只是一个非常奇怪的有序的1位或2位数字的混合,这不是我想要的。自己尝试一下如果你有时间,那就是日食。
但后来我尝试了这段代码 -
public class go {
public static void main(String[] args) {
for(int firstNum = 0;firstNum<10;firstNum++){
for (int secondNum = 0;secondNum<10;secondNum++){
for(int thirdNum = 0;thirdNum<10;thirdNum++){
System.out.println(firstNum+""+secondNum+""+thirdNum);
}}}}}
请注意,我在 println 语句中的变量之间添加了空格。 而这次它完美地工作了!给我每个可能的3位正整数。
为什么第一个代码块没有工作,为什么第二个代码工作?
是 println 查看变量的方式还是什么? 请帮助。
答案 0 :(得分:2)
当您添加整数时,如firstNum+secondNum+thirdNum
中所示,您将得到这些整数的总和。这就是+
运算符对整数的作用。
当您向表达式添加字符串文字时,如firstNum+""+secondNum+""+thirdNum
中所示,编译器执行String
连接而不是添加。
答案 1 :(得分:0)
在第一段代码中,整数被添加。而在第二段代码中,它是一个字符串。