게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
자바 초보가 질문드려요ㅠㅠㅠㅠ 자바 고수님들 도와주세요!
게시물ID : programmer_19318짧은주소 복사하기
작성자 : 아르몽따드
추천 : 0
조회수 : 528회
댓글수 : 3개
등록시간 : 2016/12/15 18:14:20
옵션
  • 본인삭제금지
안녕하세요!

자바 과제를 하던중에 막히는 부분이 있어서 질문 드립니다.


exception thrown 을 하는 도중에 원하는 곳에 캐치 블락 실행을 시키고 싶은데 캐치 블락이 도저히 안잡히고 계속 오류만 나네요ㅠㅠㅠ

혹시 제가 아직 익셉션을 잘 쓸 줄 몰라서 그런가봐요...ㅠㅠㅠㅠ

도와주시면 정말 감사드리겠습니다!!!!

이게 while loop안의 if statement인데요

Ernest Hemingway,9
F, Scott Fitzgerald,8

두 개를 대입했을때 똑같이 캐치 블락에서 잡아줘야되는데 두번째 꺼가 자꾸 캐치 블락에서 안잡히고 혼자 에러가 뜨네요..

Enter a data point (-1 to stop input):  Exception in thread "main" java.lang.NumberFormatException: For input string: "ScottFitzgerald" 	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 	at java.lang.Integer.parseInt(Integer.java:492) 	at java.lang.Integer.parseInt(Integer.java:527) 	at DataVisualizer.main(DataVisualizer.java:60)
else if (!Character.isDigit(line.charAt(line.length()-1))){
                  while(line.contains(" ")){
               line2 = line.replaceAll(" ", "");
               
                  try{
                  int intLine = Integer.parseInt(line2);//제가 여기서 뭘 잘못 쓴거 같아요.. 
               }
                  catch(NumberFormatException e){
                  System.out.println("Error: Comma not followed by an integer.");
                  System.out.println();
                  continue; 
               }
             System.out.println("Error: Comma not followed by an integer.");
                System.out.println("");  
               }
               }



이게 에러가 생기는 구간인것 같구요 while 전문은 이렇습니다


         while (!line.equals("-1")){
               if (!line.contains(",")){
                  System.out.println("Error: No comma in string.");
                  System.out.println("");
               }
               else if ( withComma.length() - withoutComma.length() >= 2){//사실 에러 뜨는 인풋(F, Scott Fitzgerald,8)이면 여기서 먼저 걸려야 되는데 왜 여기는 안잡히고 다음 구간으로 넘어갈까요...ㅠㅠ
                  System.out.println("Error: Too many commas in input.");
                  System.out.println("");
               }
               else if (!Character.isDigit(line.charAt(line.length()-1))){
                  while(line.contains(" ")){
               line2 = line.replaceAll(" ", "");
               
                  try{
                  int intLine = Integer.parseInt(line2);
               }
                  catch(NumberFormatException e){
                  System.out.println("Error: Comma not followed by an integer.");
                  System.out.println();
                  continue; 
               }
             System.out.println("Error: Comma not followed by an integer.");
                System.out.println("");  
               }
               }
               else{
                  String[] listArray = line.split(",");//split input by comma
                  dataString.add(listArray[0]);
                  dataInt.add(Integer.parseInt(listArray[1].replaceAll("\\s" , "")));//convert string into integer and remove whitespace next to comma
                  
                  System.out.println("Data string: " + dataString.get(i));
                  System.out.println("Data integer: " + dataInt.get(i));
                  System.out.println("");
                  ++i;
               }
            System.out.println("Enter a data point (-1 to stop input): ");
            line = scnr.nextLine();
            }


도와주세요...ㅠㅠㅠㅠ 두시간째 이러고 있습니다....ㅠㅠㅠㅠㅠㅠㅠ아 그리고 제가 자바 배운지 한 6개월 정도밖에 안되서 코딩이 굉장히 지저분할 수 있어요... 아니죠 많이 지저분하죠...ㅋㅋㅋㅠㅠㅠㅠㅠ 양해 부탁드려요!!ㅠㅠㅠㅠㅠㅠ 넘 어렵네요... 하다보면 늘겠죠...??ㅠㅠㅠㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호