我正在尝试找出用户输入的字符串中的所有大写字母,但我一直得到这个运行时错误:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String index out of range: 4
at java.lang.String.charAt(String.java:686)
at P43.main(P43.java:13)
我感到很愚蠢,但我就是想不出来,甚至在有关java.lang.StringIndexOutOfBoundsException的页面上Oracle也谈到了charAt。
以下是我的代码,用于查找大写字母并打印它们:
import java.io.*;
import java.util.*;
public class P43{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
//Uppercase
String isUp = "";
System.out.print("Please give a string: ");
String x = in.next();
int z = x.length();
for(int y = 0; y <= z; y++){
if(Character.isUpperCase(x.charAt(y))){
char w = x.charAt(y);
isUp = isUp + w + " ";
}
}
System.out.println("The uppercase characters are " + isUp);
//Uppercase
}
}
我非常感激任何意见和帮助。
inputString
。在嵌套循环的索引中使用i,j,k
,您可以使用c
表示字符,但其他任何内容都应该给它一个适当的名称。 - azz