Java 中的子字符串 - 长度最多为一个值

2022-09-03 16:38:47

我正在尝试制作一个子字符串,让我最多有6个姓氏的字母,但是我在这里拥有的东西似乎在找到少于6个字母的姓氏时会抛出错误,我一直在寻找几个小时的解决方案,但没有成功:/

id = firstName.substring (0,1).toLowerCase() + secondName.substring (0,6).toLowerCase();
System.out.print ("Here is your ID number: " + id);

这是.我需要它最多6个字母,而不是6个字母。.substring(0,6)

错误:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 6
    at java.lang.String.substring(Unknown Source)
    at Test.main(Test.java:27)

答案 1

secondName.substring (0, Math.min(6, secondName.length()))

答案 2

我更喜欢

secondName.length > 6 ? secondName.substring(0, 6) : secondName