【发布时间】:2018-10-21 08:43:40
【问题描述】:
我想知道输入数字的位置,所以我决定使用 parse 将 String 类型转换为 int 数据类型,源代码如下:
public static void main (String [] Args) {
Scanner input = new Scanner (System.in);
String x = "0" ;
int number = Integer.parseInt(x);
System.out.print("\nEnter 5 numbers: ");
number = input.nextInt();
if ((x.charAt(0) == x.charAt (4)) && (x.charAt(1) == x.charAt(3))) {
System.out.print("The set of numbers is equal to its original value");
} else {
System.out.print("The set of numbers is not equal to its original value");
}
}
我编译文件后,它不会运行,出现这个错误
线程“主”java.lang.StringIndexOutOfBoundsException 中的异常: 字符串索引超出范围:4 在 java.base/java.lang.StringLatin1.charAt(未知来源) 在 java.base/java.lang.String.charAt(未知来源) 在activity10.main(activity10.java:12)
【问题讨论】:
-
您的字符串 x 为 '0' 但您尝试从索引 4 获取值。您可以使用任何编辑器调试选项..
-
请重新格式化您帖子中的代码。
-
我不明白你的程序试图做什么(它的逻辑与输出不对应)。也许退后一步,重新考虑你的算法。
-
如何得到 x.charAt(4) 而 x 的大小只有一个???
标签: java