正如标题所说,我的问题是,当我编译时,我在线程“main”java.lang.IndexOutOfBoundsException:Index:1,Size:1中得到了Exception。这是问题产生的部分。
编辑。
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at pa6.FlightFinder.bestDirectPrice(FlightFinder.java:117)
at pa6.FlightFinder.main(FlightFinder.java:14)
public static ArrayList<String> bestDirectPrice(ArrayList<String> flightList,String city1, String city2) {
ArrayList<String> list = new ArrayList<String>();
ArrayList<String> Price = new ArrayList<String>();
for (int i=0; i<flightList.size(); i++) {
list = directFlights(flightList, city1, city2);
Price.add(getPrice(list.get(i)));
}
return Price;
我一直在网上寻找解决方案,所以我很确定问题是数组太小,但我仍然不确定如何解决它。我试图让代码的上半部分只从数组中取出数字并将它们放入一个新的数组中。
ArrayList<String> test = new ArrayList<String>(); //Array with list of flights
test.add("Orlando#DesMoines#194.88");
test.add("Portland#Orlando#287.74");
test.add("Buffalo#Boston#299.52");
test.add("Buffalo#Portland#264.80");
test.add("Chicago#Buffalo#223.56");
System.out.println(bestDirectPrice(test,"Buffalo","Orlando"));
这是我调用的其他方法。
public static String getPrice(String price) { //Takes flight description, which is a string, as a parameter and returns price of flight
String[] sArray = price.split("#", -1);
String newPrice = "";
for (int i = 0; i<1; i++)
newPrice = sArray[2];
return newPrice;
}
public static ArrayList<String> directFlights(ArrayList<String> flightList, String city1, String city2) { // Method to create array list containing every direct flight from city1 to city 2
ArrayList<String> list = new ArrayList<String>();
for (int i=0; i<flightList.size(); i++){
String city2a = getDestinationCity(flightList.get(i));
String city1a = getOriginationCity(flightList.get(i));
if (city1a.equals(city1) && city2a.equals(city2)) {
list.add(flightList.get(i));
}
}
return list;
}
我已经坚持了一段时间,所以任何帮助将不胜感激!
编辑。
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at pa6.FlightFinder.bestDirectPrice(FlightFinder.java:117)
at pa6.FlightFinder.main(FlightFinder.java:14)
你的for循环是关于flightList,而不是list。在每一次迭代中,您都在为列表重新分配一个新值,而不是添加一个新元素。
试着改变
for (int i=0; i<flightList.size(); i++) {
list = directFlights(flightList, city1, city2);
Price.add(getPrice(list.get(i)));
}
到
list = directFlights(flightList, city1, city2);
for (int i=0; i<list.size(); i++) {
Price.add(getPrice(list.get(i)));
}
请调查这两个街区
循环直到< code>i
但是< code > getPrice(list . get(I)使用上面的索引,但是在不同的列表上
for (int i=0; i<flightList.size(); i++) {
list = directFlights(flightList, city1, city2);
Price.add(getPrice(list.get(i)));
}
内部方法,DirectF的()
使用以下条件创建列表,这意味着< code >列表的大小将始终小于或等于flightList的大小。
但是上面的getPrice(list.get(i)
正在使用来自父列表(flight List)的索引。
if (city1a.equals(city1) && city2a.equals(city2)) {
list.add(flightList.get(i));
}
我试图迭代元素,在这里我必须为每个元素获取文本体,但在打印第一个元素体之后,下一个元素体我将获得“java.lang.IndexOutOfBoundsException:Index:1,Size:1”。我知道这是非常简单的修复,但我无法修复它。请帮助我解决此问题。 在下面的代码中,当“String text=KpiText.get(i).getText();”第二次打印时出现“java.lang.
问题内容: 我收到一些奇怪的错误,这使我的Android应用程序崩溃了。它是一个测验应用程序。因此,当用户正确回答2/3问题时,单击下一步按钮将使其崩溃。并显示索引13错误。但我不知道在哪里修复/寻找。这是我的代码段。 日志猫的详细信息是这样的 更新 这是我的完整课程文件http://jquery404.com/file/GameScene.txt 问题答案: 在编程中,索引通常从0开始,因此,如
我得到错误java.lang.IndexOutOfBoundsException:index:0,size:0。
我正在尝试编写一个lz78代码作为一个学校项目,但我不断得到这个错误: 线程“main”java.lang.IndexOutOfBoundsException异常:索引:20,大小:20 代码如下:
我想从数据库中选择值,但出现错误 我不知道我的代码哪里错了。。这是我在dbHelper中的代码。 我想得到其他类的值。我使用这个代码。 我一直在搜索,但没有找到错误的解决方案。有人能帮我吗?我真的需要解决办法,请帮帮我。。谢谢当做
我知道有很多关于这个异常的线程,但是,我希望人们查看我的代码,并在我特别出错的地方帮助我。 下面是我的代码,用于尝试将用户输入存储到sqlite数据库,然后将代码传输并显示在新活动中。有人能告诉我哪里出错了,为什么这个错误不断发生?(标题错误) } 在DO块内尝试2: