[英]Exception string index out of bounds
i have this error in my java program, any help !! 我的Java程序中有此错误,任何帮助!
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 19
at java.lang.String.charAt(Unknown Source)
at Password_Constrainer.main(Password_Constrainer.java:31)
here is the code 这是代码
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.print("Please Enter Your Password: ");
String inputString = input.nextLine();
System.out.println(inputString);
if (inputString.length() < 10) // less than 10 characters
{
System.out.println("Validation failed, word was too short");
} else // Contain a letter in upper case
{
int sum1 = 0;
for (int i = 0; i <= inputString.length(); i++) {
if (Character.isUpperCase(inputString.charAt(i)))
sum1++;
}
if (sum1 == 0)
System.out.println("Validation failed, word has no Capital Letters");
can you help me in this ?? 你能帮我吗?
Change 更改
for (int i = 0; i <= inputString.length(); i++)
to 至
for (int i = 0; i < inputString.length(); i++)
If you do <=
It will iterate in inputString.length()
index, char which not exists. 如果执行<=
,它将在inputString.length()
索引inputString.length()
不存在的char inputString.length()
进行迭代。
'i' value can't be equal to inputString's length . “ i”值不能等于inputString的length。 So , change 所以,改变
i <= inputString.length()
to 至
i < inputString.length()
in loop. 循环中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.