<div>안녕하세요!</div> <div><br></div> <div>자바 과제를 하던중에 막히는 부분이 있어서 질문 드립니다.</div> <div><br></div> <div><br></div> <div>exception thrown 을 하는 도중에 원하는 곳에 캐치 블락 실행을 시키고 싶은데 캐치 블락<span style="font-size:9pt;">이 도저히 안잡히고 계속 오류만 나네요ㅠㅠㅠ</span></div> <div><br></div> <div>혹시 제가 아직 익셉션을 잘 쓸 줄 몰라서 그런가봐요...ㅠㅠㅠㅠ</div> <div><br></div> <div>도와주시면 정말 감사드리겠습니다!!!!</div> <div><br></div> <div><span style="font-size:9pt;">이게 while loop</span>안의 <span style="font-size:9pt;">if </span>statement<span style="font-size:9pt;">인데요</span></div> <div><span style="font-size:9pt;"><br></span></div> <div>Ernest Hemingway,9</div> <div>F, Scott Fitzgerald,8</div> <div><br></div> <div> <div>두 개를 대입했을때 똑같이 캐치 블락에서 잡아줘야되는데 두번째 꺼가 자꾸 캐치 블락에서 안잡히고 혼자 에러가 뜨네요..</div></div> <div><br></div> <div><pre class="develop-output" style="font-family:monospace, serif;font-size:15px;white-space:pre-wrap;border:1px solid rgb(216,216,216);background-color:#f2f2f2;max-height:300px;padding:4px;">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)</pre></div> <div><span style="font-size:9pt;">else if (!Character.isDigit(line.charAt(line.length()-1))){</span></div> <div> <div> while(line.contains(" ")){</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> line2 = line.replaceAll(" ", "");</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> </div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> try{</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> int intLine = Integer.parseInt(line2);//<span style="font-size:9pt;">제가 여기서 뭘 잘못 쓴거 같아요.. </span></div> <div><span style="font-size:9pt;"> </span><span class="Apple-tab-span" style="font-size:9pt;white-space:pre;"> </span><span style="font-size:9pt;"> }</span></div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> catch(NumberFormatException e){</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> System.out.println("Error: Comma not followed by an integer.");</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> System.out.println();</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> continue; </div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> }</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> System.out.println("Error: Comma not followed by an integer.");</div> <div> System.out.println(""); </div> <div> }</div> <div> }</div></div> <div><br></div> <div><br></div> <div><br></div> <div>이게 에러가 생기는 구간인것 같구요 while 전문은 이렇습니다</div> <div><br></div> <div><br></div> <div> <div> while (!line.equals("-1")){</div> <div> if (!line.contains(",")){</div> <div> System.out.println("Error: No comma in string.");</div> <div> System.out.println("");</div> <div> }</div> <div> else if ( withComma.length() - withoutComma.length() >= 2){//<span style="font-size:9pt;">사실 에러 뜨는 인풋(</span>F, Scott Fitzgerald,8)<span style="font-size:9pt;">이면 여기서 먼저 걸려야 되는데 왜 </span>여기는 <span style="font-size:9pt;">안잡히고 다음 구간으로 넘어갈까요...ㅠㅠ</span></div> <div><span style="font-size:9pt;"> System.out.println("Error: Too many commas in input.");</span></div> <div> System.out.println("");</div> <div> }</div> <div> else if (!Character.isDigit(line.charAt(line.length()-1))){</div> <div> while(line.contains(" ")){</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> line2 = line.replaceAll(" ", "");</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> </div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> try{</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> int intLine = Integer.parseInt(line2);</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> }</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> catch(NumberFormatException e){</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> System.out.println("Error: Comma not followed by an integer.");</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> System.out.println();</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> continue; </div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> }</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span> System.out.println("Error: Comma not followed by an integer.");</div> <div> System.out.println(""); </div> <div> }</div> <div> }</div> <div> else{</div> <div> String[] listArray = line.split(",");//split input by comma</div> <div> dataString.add(listArray[0]);</div> <div> dataInt.add(Integer.parseInt(listArray[1].replaceAll("\\s" , "")));//convert string into integer and remove whitespace next to comma</div> <div> </div> <div> System.out.println("Data string: " + dataString.get(i));</div> <div> System.out.println("Data integer: " + dataInt.get(i));</div> <div> System.out.println("");</div> <div> ++i;</div> <div> }</div> <div> System.out.println("Enter a data point (-1 to stop input): ");</div> <div> line = scnr.nextLine();</div> <div> }</div></div> <div><br></div> <div><br></div> <div>도와주세요...ㅠㅠㅠㅠ 두시간째 이러고 있습니다....ㅠㅠㅠㅠㅠㅠㅠ아 그리고 제가 자바 배운지 한 6개월 정도밖에 안되서 코딩이 굉장히 지저분할 수 있어요... 아니죠 많이 지저분하죠...ㅋㅋㅋㅠㅠㅠㅠㅠ 양해 부탁드려요!!ㅠㅠㅠㅠㅠㅠ 넘 어렵네요... 하다보면 늘겠죠...??ㅠㅠㅠㅠ</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.