这是我的代码:
//import java.awt.List;
import java.util.ArrayList;
//import java.util.LinkedList;
import java.util.Scanner;
public class Unos {
public static void main(String[] args) {
boolean run = true;
//String ispisID;
int proveraID;
int broj = 0;
int brojT = 0;
String id;
String provera2;
String provera3;
String ime;
String prezime;
String godina;
String mesec;
String dan;
while(run) {
brojT = broj;
ArrayList<String> imena = new ArrayList<String>();
ArrayList<String> prezimena = new ArrayList<String>();
ArrayList<String> godine = new ArrayList<String>();
ArrayList<String> meseci = new ArrayList<String>();
ArrayList<String> dani = new ArrayList<String>();
ArrayList<String> ids = new ArrayList<String>();
//char pocetak='s';
System.out.println("Za pocetak pritisnuti s, za pretagu pritisnuti p");
Scanner input = new Scanner(System.in);
String provera = input.nextLine();
if(provera.equals("s")) {
System.out.println("Unesite ime");
ime = input.nextLine();
System.out.println("Unesite prezime");
prezime = input.nextLine();
System.out.println("Unesite godinu rodjenja");
godina = input.nextLine();
System.out.println("Unesite mesec");
mesec = input.nextLine();
System.out.println("Unesite dan");
dan = input.nextLine();
System.out.println("Da li je profil dobro unet?");
// brojT++;
System.out.println("ID: " + brojT);
System.out.println(ime + " " + prezime );
System.out.println(dan + "/" + mesec + "/" + godina);
System.out.println("T= tacno, N= netacno");
provera2 = input.nextLine();
if(provera2.equals("t")) {
broj = brojT;
imena.add(ime);
prezimena.add(prezime);
godine.add(godina);
meseci.add(mesec);
dani.add(dan);
System.out.println("Memorisano u bazu, za prikaz pritisnuti p, na ponovno unosenje s");
provera3 = input.nextLine();
switch(provera3) {
case "p":
System.out.println(ime + " " + prezime );
System.out.println(dan + "/" + mesec + "/" + godina);
break;
case "s":
break;
}
} else {
System.out.println("Nije memorisano");
brojT--;
}
} else if(provera.equals("p")) {
System.out.println("Unesite id");
proveraID = input.nextInt();
String ispisID = (String) ids.get(proveraID);
System.out.println(ispisID);
}
}
}
}
这是错误:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Unos.main(Unos.java:78)
感谢您的帮助,我是Java的新手。
我也有Eclipse Oxygen所以也许这就是问题所在。
答案 0 :(得分:0)
在最大的其他内容中,您读取了变量ID,但它可能没有任何内容。
答案 1 :(得分:0)
您没有向Arraylist ids 添加任何内容(列表ID为空)。 这就是为什么在尝试获取元素时会遇到此异常。 因此,在访问特定元素之前,请确保其可用。 所以请在行下方
String ispisID = (String) ids.get(proveraID);
如下:
if(!ids.isEmpty() && proveraID<ids.size()){
String ispisID = (String) ids.get(proveraID);
}