我正在尝试获取用户输入并打印出姓氏+ 5个字符,后跟随机数字。我是Java
的新用户,我已经能够获得用户输入并输入随机数,但我不太确定如何格式化printf
以仅从我的5个字符第二串。我甚至不确定printf
是我正在寻找的。 p>
Scanner name = new Scanner (System.in);
String firstname;
String secondname;
System.out.println("Enter your first name:");
firstname = name.next();
System.out.println("Enter your last name:");
secondname = name.next();
我是如何获得用户输入的名字和姓氏。
编辑:我应该假设姓氏超过5个字符
答案 0 :(得分:4)
您可以使用String.substring
获取String
的一部分。
System.out.println(secondname.substring(0,5));
请务必先检查实际长度,否则您将抛出StringIndexOutOfBoundsException
。
另请记得检查null
s。
答案 1 :(得分:2)
如果您希望在姓氏(secondname
)中显示最多五个字符,则可以使用子字符串:
System.out.println(secondname.substring(0, Math.min(5, secondname.length())));
因此,您的最终输出将是这样的:
// Import 'java.util.Random' at the top of your file
Random rand = new Random();
int max = 9999;
int min = 1000;
int rnd = rand.nextInt((max - min) + 1) + min;
String fullString = firstname
+ secondname.substring(0, Math.min(5, secondname.length()))
+ String.valueOf(rnd);
答案 2 :(得分:1)
像这样的东西:
String result = firstname + ((secondname.length() > 5) ? secondname.substring(0, 5) : secondname) + random;
此代码检查secondname长度,如果secondname短于5个字符,则将完全附加。 随机 - 是你的随机数。 结果将包含您所需要的内容。
答案 3 :(得分:1)
这样就可以了解
String secondname = "sdrias";
String firstname = "rasdgfdsg";
String combinedString = "";
if(secondname.length() < 5) {
combinedString = firstname+secondname;
} else {
combinedString = firstname+secondname.substring(0, 5);
}
System.out.println(combinedString);