У меня ошибка ArrayIndexOutOfBoundsException: 0
, так как i
равно 0
и не автоматически увеличивается. Как я могу исправить этот код, чтобы он работал так, как ожидалось?Получение «ArrayIndexOutOfBoundsException» при попытке автоматического увеличения данных
Я хочу, чтобы он автоматически увеличивал каждую строку данных, считанных в файле, читаемом с помощью массивов. Независимо от того, где я помещаю i++;
, я получаю эту проблему. Если я использую другую переменную: такая же проблема.
import java.io.*;
import java.util.*;
public class IdolResults
{
public static void main(String[] args) throws FileNotFoundException
{
//construct Scanner
//Scanner in = new Scanner(System.in);
Scanner in = new Scanner(new File("eleVotes1.txt"));
Scanner in2 = new Scanner(new File("eleVotes2.txt"));
String[][] array;
int[][] array2;
String[] nameArray;
int[] voteArray;
int i = 0;
while (in.hasNextLine())
{
String name = in.next();
int vote = in.nextInt();
System.out.println(name);
System.out.println(vote);
//stuffhere: print, save name and vote, etc..
//create an array and save info there
array = new String[i][];
array2 = new int[i][];
array[i][0] = name;
array2[i][1] = vote;
//individually store name and votes
nameArray = new String[10];
voteArray = new int[10];
nameArray[i] = name;
voteArray[i] = vote;
i++;
}
}//end of main
}//end of class
В конце концов я хочу, чтобы манипулировать эти хранимые данные, так что я могу сделать это: Ожидаемый результат:
Results for 2099
Idol Name Votes Received % of Total Votes
__________________________________________________
Clarkson 80,000 14.4%
Seacrest 100,000 18.0%
Dunkleman 75,000 13.5%
Cowell 110,000 19.7%
Abdul 125,000 22.4%
Jackson 67,000 12.0%
Total Votes 557,000
The winner is Abdul!
'ArrayIndexOutOfBoundsException: 0' происходит, когда массив пуст, не тогда, когда' i' не приращение. – dasblinkenlight
Вы удалили предыдущую версию этого вопроса? – Lion
Да, потому что 3 ответа, которые я получил, были удалены, а также 20 минут, потому что одна и та же ошибка появилась даже с их ответами. Затем он не получил нового ответа на некоторое время ... –