这是我的代码:
//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。
此外,我有月食氧气,所以也许这就是问题所在。
您没有向数组列表id添加任何内容(列表id为空)。这就是为什么在尝试获取元素时会出现这个异常。所以在访问一个特定的元素之前,确保它是可用的。所以围在线下
String ispisID = (String) ids.get(proveraID);
如下:
if(!ids.isEmpty() && proveraID<ids.size()){
String ispisID = (String) ids.get(proveraID);
}
在最大的其他地方,您可以阅读变量id,但它可能没有任何内容。
我已经看了关于这个主题的其他StackOverflow问题,但是作为一个新开发人员,我非常困惑。我试图写一个程序,问用户谜语,并在用户得到一个特定谜语的三个错误答案后重新启动。需要重新启动的代码是: 我需要重新启动的代码应该位于restartApp()当前所在的位置。提前谢谢!
问题内容: 我想逐行调试Java程序的整个流程,而我正在使用eclipse,我该怎么做? 问题答案: 在Eclipse中调试Java程序需要执行多个步骤,例如: 设置断点 启动调试器 控制程序执行。 对于逐行使用F6和F5进入方法 评估变量等 将所有内容放在此处会使答案过长。我建议您遵循本教程: http://www.vogella.com/articles/EclipseDebugging/ar
(我是java BTW的新手!)
我想调试一个Vaadin8应用程序,当我启动Gradle-Task“Vaadinrun”时,控制台会告诉我调试端口: 运行在http://localhost:8080上的应用程序(调试器在8000上) 有效的方法是将远程调试会话附加到端口8000,但奇怪的是,一定有更简单的方法。问题是怎么做? 智能点子:2017.2.5 分级:4.2.1 Gradle-Vaadin支持:com.devsoap.p
问题内容: 我知道如何使用Eclipse调试远程Java VM,但是如何使用Java Web Start程序进行调试。我有一个仅在Java Web Start中出现的问题。它必须与安全性相关。 我需要一个可以与当前Java VM(如1.6.0_12)一起使用的解决方案。 问题答案: 与要远程调试的任何其他Java进程完全相同:您必须为VM()设置一些参数,然后连接到给定的端口。在Java Webs
我想在intellij Idea中以调试模式启动spring-boot maven应用程序,但当我创建断点时,应用程序不会挂起,而是会继续。我读了很多题目,但还是不明白怎么做。你能帮我决定最好的行动方案吗。 但是当请求LocalHost:5005/MyPage时,我会出现错误101(NET::ERR_CONNECTION_RESET)。似乎有些maven参数没有指定。 下面是我在pom.xml中的