java.util.NoSuchElementException 오류 해결 방법
조회수 4571회
객체를 생성해서 거기에 값을 입력하는 소스를 짰는데 java.util.NoSuchElementException 오류가 뜹니다. 어떻게 해결하면 좋을까요?
import java.util.Scanner;
class Obj {
private String name;
private int age;
private String idNumber;
public static int numOfObjs = 0;
public void setObj(String name, int age, String idNumber) {
this.name = name;
this.age = age;
this.idNumber = idNumber;
numOfObjs++;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getIdNumber() {
return idNumber;
}
}
public class StringTest {
public static void menu(Obj[] objs) {
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.print("2. register object\n" +
"5. end\n" +
"input: ");
int num = scanner.nextInt();
switch(num) {
case 2:
registerObj(objs);
continue;
case 5:
break;
default:
System.out.println("Error");
continue;
}
break;
}
scanner.close();
}
public static void registerObj(Obj[] objs) {
Scanner scanner = new Scanner(System.in);
System.out.print("Name: ");
String name = scanner.next();
System.out.print("Age: ");
int age = scanner.nextInt();
System.out.print("ID Number: ");
String idNumber = scanner.next();
int id = Obj.numOfObjs;
objs[id] = new Obj();
objs[id].setObj(name, age, idNumber);
System.out.println(objs[id].getName());
System.out.println(objs[id].getAge());
System.out.println(objs[id].getIdNumber());
scanner.close();
}
public static void main(String[] args) {
Obj[] objs = new Obj[10000];
menu(objs);
}
}
메뉴를 통하지 않고 메인에서 바로 registerObj 메소드를 호출하면 에러가 뜨지 않습니다. 이것도 이유는 모르겠습니다만..
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력