此代码应在用户输入时打印用户名,并将其长度限制为20个字符,但仅当用户名长度超过20个字符时才有效。当它低于20时,我会收到错误。有关如何解决这个问题的想法吗?
谢谢。
String name;
Scanner textIn = new Scanner(System.in);
System.out.print("Enter your Name ");
name = textIn.nextLine();
String cutName = name.substring(0, 20);
if (name.length()>20) {
name = cutName;
System.out.print("Hello " +name+"!");
}
答案 0 :(得分:2)
只需将较低的索引置于20和String
的长度之间。
name.substring(0, Math.min(20,name.length()));
答案 1 :(得分:0)
如果将String cutName放在if中,则错误应该消失。您不能从长度超过String本身的字符串中获取子字符串。
if (name.length()>20) {
String cutName = name.substring(0, 20);
name = cutName;
}
System.out.print("Hello " +name+"!");