Проблема с массивом [JAVA]
Привет, у меня большая проблема с моей программой. Эта программа структурирована с меню, и у нее есть класс для каждого выбора. В классе Веттори у меня возникает такая проблема, когда я толкаю цифры. Извините за мой плохой английский, но я итальянец.
Что я уже пробовал:
это и есть ошибка:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0<br /> at generale.Vettori.Caricamento(Vettori.java:39)<br /> at generale.Generale.main(Generale.java:43)<br /> C:\Users\Peppe7\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1<br /> BUILD FAILED (total time: 4 seconds)
это класс:
package generale; import java.io.*; /** * * @author DE_VITA1700 */ public class Vettori { //******************************************* //Input InputStreamReader input = new InputStreamReader(System.in); BufferedReader tastiera = new BufferedReader(input); //******************************************* private int N; public void setN(int x){ N=x; } private int V[] = new int[N]; public void Caricamento() { int dato=0; String numero; for(int i=0;i<N;i++) { try { System.out.print("Valore da inserire alla posizione n°" + i + ": "); numero = tastiera.readLine(); dato = Integer.valueOf(numero).intValue(); } catch(Exception e){ System.out.println("Inserisci un numero!"); } V[i]=dato; } } public void Stampa(){ for(int i=0;i<V.length;i++){ System.out.println(V[i]); } } }
Richard MacCutchan
Где находится код, который устанавливает значение N?
Member 14019184
Вот ты где:
публичный статический пустота главный(строка[] аргументы) {
//*******************************************
//Вход
InputStreamReader input = новый InputStreamReader(System.in);
Командой bufferedreader ноутбука = читает(вход);
//*******************************************
/*Меню m;
m = новое меню();
м. printMenu();
м. Вочи();*/
Веттори а;
int x;
int valore=0;
Строка numero;
пробовать {
Системы.из.печати("Грандезза Ветторе: ");
нумеро = ноутбука.с readline();
валоре = целое число.метод valueOf ("Калина").сертификата от его закодированной формы();
}
catch(исключение e){
System.out.println("Inserisci un numero!");
}
x = доблесть;
а = новый Веттори();
а.Caricamento(х);
а.Стампа();
Richard MacCutchan
Там нет кода, который вызывает setN для установки значения N. Вы также вызываете a.Caricamento(x); но Caricamento не принимает никаких параметров.