**今すぐ動作しましたか?私は配列リストに値を設定するのを忘れました。どのように恥ずかしい。ArrayList、Javaに関する問題
私はこのエラーを得ている:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.set(ArrayList.java:397)
at Netbooks.Calculations.topTen(Calculations.java:93)
at Netbooks.Test.main(Test.java:33)
Java Result: 1
エラーは、この特定の行を指す: aveList.set(maxBook、0.0)。私には正しいように見えますが、その後、再び、私は新たなんだと、おそらく間違っている
...
私は、あなたたちは、配列やその他もろもろの大きさを確認することができるようにいくつかのより多くのコードを追加するつもりですうまくいけば私がしなかったものをキャッチします。 ArrayListの「aveListは」最初に生成されるのはここ
public List<String> topTen() throws IOException {
Books books = new Books();
List<String> bookList = books.readBooks();
List<String> topList = new ArrayList<String>(10);
List<Double> aveList = new ArrayList<Double>();
for (int i = 0; i < 10; i++) {
double maxRating = 0.0;
int maxBook = 0;
for (int j = 0; j < aveList.size(); j++) {
if (maxRating < aveList.get(j)) {
maxRating = aveList.get(j);
maxBook = j;
}
}
topList.add(bookList.get(maxBook));
aveList.set(maxBook, 0.0);
}
return topList;
}
は次のとおりです:ここで
はエラーを持っている方法である
public List<Double> aveRatings() throws IOException {
Books books = new Books();
Ratings ratings = new Ratings();
PureRatings pureRatings = new PureRatings();
int numBooks = books.readBooks().size();
int numCust = ratings.readCustomers().size();
List<List<Integer>> pureRatingsList = pureRatings.parseRatingsFile();
List<Double> aveRatings = new ArrayList<Double>();
for (int j = 0; j < numBooks; j++) {
double sum = 0;
double counter = 0;
for (int i = 0; i < numCust; i++) {
if (pureRatingsList.get(i).get(j) != 0) {
sum = sum + pureRatingsList.get(i).get(j);
} else {
counter++;//Increase counter.
}
}
if (counter == numCust) {
aveRatings.add(0.0);
} else {
aveRatings.add((sum)/(numCust - counter));
}
}
return aveRatings;
}
私は今しばらくの間、それをしてきたし、何が間違っているのか分からないようです。どんな助けもありがとう。
はい!何が簡単な間違い...私はそれが今働いている。ありがとうございました! – Marcos
私はコードの2番目のブロックが何のためにあったのだろうかと思っていた... – styfle
"これは、あなたが変数と同じ名前をメソッドに与えているのに役立つわけではありません。私は新しいので、言語の慣習に従うのはひどいです... – Marcos