자바 스캐너 질문입니다!
조회수 1861회
클래스 하나 생성후 필드선언하고 메소드선언할때 여러개 메소드에서 스캐너가 필요하면 각 메소드마다 스캐너를 선언하고 닫아줘야되나요??
그리고 여러개 클래스를 생성했는데 각클래스마다 스캐너가 필요할때는 스캐너를 어떻게 선언하는지 궁금합니다!
import java.util.Scanner;
class example
{
int a,b,c;//예시용 임의 필드
public void ex1
{
Scanner scanner = new Scanner(System.in);
this.a=scanner.nextInt();
}
public void ex2
{
Scanner scanner = new Scanner(System.in);
this.b=scanner.nextInt();
}
}```
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
그렇게 하지 않고 for, while 의 반복문으로 반복처리합니다.
클래스마다 필요해도 입력은 한곳에서만 받도록 설계해야 합니다.
보통 아래와 같은 구조를 갖습니다.
Scanner scanner=new Scanner(System.in); while (true) { System.out.println("Insert question code:"); String question = scanner.nextLine(); if(question.equals("quit")){ // quit 입력시 종료 break; } System.out.println("Insert answer code:"); String answer = scanner.nextLine(); if(answer.equals("quit")){ break; } service.storeResults(question, answer); // 처리할 클래스로 위임 }
댓글 입력