我正在尝试获取用户输入,并从姓氏中打印出名字+ 5个字符,后跟随机数字。我对Java真的很陌生,已经能够获取用户输入并输入随机数,但是我不确定如何格式化printf使其仅从第二个字符串中获取5个字符。我什至不能100%确定printf是我要的内容。

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个字符

最佳答案

如果您希望显示姓氏(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);

10-06 10:58