我创建了一个扫描器类多个用户输入,我想那是整数成打印出来像NUM1字符串用户输入转换:NUM2:NUM3转换是整数转换为字符串
int num1 = scan.nextInt();
int num2 = scan.nextInt();
int num3 = scan.nextInt();
我想要能够使这样我就可以使用字符串中
System.out.println();
无需做NUM1 +“:” + NUM2“:” +每次NUM3我想使用的字符串。
我创建了一个扫描器类多个用户输入,我想那是整数成打印出来像NUM1字符串用户输入转换:NUM2:NUM3转换是整数转换为字符串
int num1 = scan.nextInt();
int num2 = scan.nextInt();
int num3 = scan.nextInt();
我想要能够使这样我就可以使用字符串中
System.out.println();
无需做NUM1 +“:” + NUM2“:” +每次NUM3我想使用的字符串。
您可以引入一个局部变量:
String myString = num1 + ":" num2 + ":" + num3;
然后你就可以直接使用它:
System.out.println(myString);
而且,这可能是一个更方便的方法:
String myString = String.format("%d:%d:%d", num1, num2, num3);
String.format
使您能够指定一个格式字符串(这次是"%d:%d:%d"
),所以如果你碰巧t o想稍后改变它,你可以轻松地做到这一点。
由于@Pshemo指出,类似的String.format是如何工作的,有PrintStream.printf()
方法,在这种情况下可以作为System.out.printf(String format, Object... args)
:
System.out.printf("%d:%d:%d", num1, num2, num3);
另一个方面来考虑:将你碰巧遇到(例如:不是3,但更多,甚至是任意数量的输入),您应该考虑使用数组(或适当Collections:List或Set实现的anz)来存储输入,并编写一个函数来提供所需的字符串。
在这种情况下,Apache的百科全书StringUtils
可以派上用场:它有一个很好的多态连接方法,主动要求参加刚刚anbout东西:
//given an int[] named myArray:
String myString = StringUtils.join(myArray, ':');
您可以使用StringBuilder
:
StringBuilder sb = new StringBuilder();
sb.append(num1);
sb.append(":");
sb.append(num2);
sb.append(":");
sb.append(num3);
System.out.println(sb.toString());
由于append
方法返回相同对象的引用,这些通话可以被链接:
StringBuilder sb = new StringBuilder();
sb.append(num1).append(":").append(num2).append(":").append(num3);
System.out.println(sb.toString());
重载append
方法品种给您有权将其他几种类型追加到StringBuilder
。
获取字符串像以前那样和存储它在字符串中:
String numbers = num1 + ":" + num2 + ":" + num3;
然后打印:
System.out.println(numbers);
番石榴Guava from Google是可以帮助你的东西。除了其他的东西,它有这个不错的实用类。
public void concatenate() {
// Your user input, which could be maybe optimised as well
int int1 = 10;
int int2 = 20;
int int3 = 30;
int int4 = 40;
System.out.println(
Joiner.on(":") // delimiter that will be used
.join(ImmutableSet.of(int1, int2, int3, int4))); // Guava which creates temp list for you
}
结果:
10:20:30:40
使用另一个库仅用于连接字符串似乎对我来说过分。 –
你知不知道你有多少诚信的期待?只需将扫描放在一个循环中,并将打印输入循环。 – idfah