:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
08/07/30 14:46
2. main() 메소드에서 switch 문을 사용하는데 정수가 아닌값을 입력하면 에러가 나는데...
네. switch(select) 에서 select 의 value는 integer 혹은 character 밖에 못 씁니다... 혹시 string value 를 써야만 한다면 if 문을 쓰실수 밖에는 없습니다.
08/07/30 14:48
daewekim@gmail.com 으로 전체 소스 한 번 주실수 있으세요?
저도 초보라 공부하는 셈 치고 한번 봐볼께요 ^^;
08/07/30 14:55
RunDavid님// 답변주셔서 감사합니다!!
2번 답변에 말인데요.. 음.. integer 말고 입력이 되면 아예 막아버리는 방법은 없는건가요?;; p.s 엊그제부터 짜기 시작한 소스인데 저기에서 답보입니다. -_-;; 저게 전체예요 으허허허헝..ㅠㅠ
08/07/30 15:02
static Saveadress[] adl = new Saveadress[5];
이것만으로는 adl 객체는 Saveadress 타입의 5개짜리 array 라고만 선언이 된거고 실제 5개의 adl 객체 각각에 대해서는 메모리가 할당되어 있지 않은 상태죠. 그래서 adl[i].Iname 을 할때 adl[i] 객체 자체가 null 이라 NullPointerException 이 뜹니다. 그러므로 Addresslist 클래스를 생성할때 adl 객체 하나하나에 일일히 생성을 해줘야 합니다. 이정도만 말씀드려도 이해하실거라고 생각됩니다.
08/07/30 16:09
이렇게 해보세요
import java.util.Scanner; public class Check public static void main(String[] args) { System.out.println("Start"); while(true) { try { Scanner in = new Scanner(System.in); System.out.println("Input Integer Only"); int select = in.nextInt(); System.out.println(select); break; catch (java.util.InputMismatchException exception) System.out.println("Input was not a number"); } System.out.println("End"); } }
08/07/30 16:28
생각해보니 switch 문들어가기전에 input value 를 확실히 해 놓는게 좋겠군요, 다시 돌아가서 받긴 애매하니깐.
제가 위에쓴 부분에서 try 안쪽을 이렇게 바꿔보세요 try Scanner in = new Scanner(System.in); System.out.println("Input Integer Only"); int select = in.nextInt(); if(!(select > 0 && select <5)) System.out.println("1부터 4까지만 선택하세여"); else { System.out.println(select); break; }
|