【发布时间】:2014-04-26 08:38:05
【问题描述】:
编码新手,我正在做一些基本练习以适应这种语言。 在本练习中,我尝试生成具有以下限制的电话号码:
- 前 3 位数字不能包含 8 或 9
- 第二组 3 位数不能高于 742
我看到了添加空字符串的建议(我有),但我不明白为什么会这样。现在,我将坚持以下内容,即使我不完全理解它的工作原理。
num1 = rand.nextInt(7) + 1;
num2 = rand.nextInt(7) + 1;
num3 = rand.nextInt(7) + 1;
num4 = rand.nextInt(643) + 100;
num5 = rand.nextInt(1001) + 1000;
String number = "" + num1 + num2 + num3 + "-" + num4 + "-" + num5;
System.out.print("Your assigned phone number is: " + number);
编辑:新代码包括 sb.append
StringBuilder sb = new StringBuilder();
int num1, num2, num3, num4, num5;
num1 = rand.nextInt(7) + 1;
num2 = rand.nextInt(7) + 1;
num3 = rand.nextInt(7) + 1;
num4 = rand.nextInt(643) + 100;
num5 = rand.nextInt(1001) + 1000;
sb.append(num1);
sb.append(num2);
sb.append(num3);
sb.append("-");
sb.append(num4);
sb.append("-");
sb.append(num5);
//String number = "" + num1 + num2 + num3 + "-" + num4 + "-" + num5;
System.out.print("Your assigned phone number is: " + sb.toString());
@Serge 的回答对我有用。尽管它似乎确实需要对我必须包含的所有 sb.append 调用进行更多编码。我还没有了解 StringBuilder 类,但它似乎确实很有帮助。谢谢大家。
【问题讨论】:
-
我在这个问题的正文中没有看到实际问题?
-
@neminem 他的问题是“为什么有效”,即(为什么在字符串编号的开头添加“”,打印每个值而不是添加 num1+num2 并打印总和)
标签: java string coding-style concatenation