gpt4 book ai didi

java - java中数组越界异常

转载 作者:行者123 更新时间:2023-12-01 17:49:47 25 4
gpt4 key购买 nike

如何清除ArrayIndexOutOfBound java中的异常

线程“main”中出现异常 java.lang.ArrayIndexOutOfBoundsException: 10 在 word.main(word.java:17)

我的代码如下:

        import java.util.*;
import java.lang.*;
class word{

public static void main(String[] args){
String n;
String a[]={"zero","one","two","three","four","five","six","seven","eight","nine","ten"};
String b[]={"eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty"};
System.out.println("Enter number in words");
Scanner sc=new Scanner(System.in);
n=sc.next();
for(int i=0;i<=20;i++){
if(n==a[i]){
System.out.println(i);
break;
}
else if(n==b[i]){

System.out.println(i);
break;
}
}
}
}

最佳答案

老实说,最简单的方法是对所有数字单词使用单个数组,或者使用更灵活的数据结构,例如列表。如果您想保留当前的内联数组定义,但使用列表,这里有一个选项:

String[] a = { "zero", "one", "two", "three", "four", "five", "six", "seven",
"eight", "nine", "ten" };
String[] b = { "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen",
"seventeen", "eighteen", "nineteen", "twenty" };
List<String> nums = new ArrayList<>();
nums.addAll(Arrays.asList(a));
nums.addAll(Arrays.asList(b));

System.out.println("Enter number in words");
Scanner sc = new Scanner(System.in);
String input = sc.next();

for (int i=0; i < nums.size(); i++) {
if (input.equals(nums.get(i))) {
System.out.println(i);
break;
}
}

关于java - java中数组越界异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51665629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com