2016-06-11 2 views
0
코드는 컴파일러는이 오류가 표시되고, 이클립스 IDE에 있지만 Codechef에 완벽하게 잘 작동

에 NumberFormatException이 예외 :코드 이클립스에서 잘 실행되지만 CodeChef

import java.util.*; 
import java.lang.*; 
import java.io.*; 
class Codechef { 
    public static void main(String[] args) throws IOException 
    { 
     int x = 0, j = 0; 
     String s; 
     int counta = 0, countb = 0; 
     int countf[] = new int[5]; 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     int i = Integer.parseInt(br.readLine()); 
     while (j < i) { 
      s = br.readLine(); 
      for (int k = 0; k < s.length(); k++) { 
       if (s.charAt(k) == 'a') { 
        counta++; 
       } 
       else { 
        countb++; 
       } 
      } 
      if (counta < countb) { 
       countf[j] = counta; 
      } 
      else { 
       countf[j] = countb; 
      } 
      j++; 
      counta = countb = 0; 
     } 

     for (int g = 0; g < i; g++) { 
      System.out.println(countf[g]); 
     } 
    } 
} 

: 여기

Exception in thread "main" java.lang.NumberFormatException: null  
at java.lang.Integer.parseInt(Integer.java:542) 
at java.lang.Integer.parseInt(Integer.java:615) 
at Codechef.main(Main.java:19) 

은 내 코드입니다 나는 심지어 스캐너 클래스를 사용해 보았지만 NoSuchElementException을 보여 주었다.

+0

CodeChef가'System.in'에 입력을 제공하지 않는 것 같습니다. 이 문제에 대해 정말로 기대해야합니까? –

+0

내가 여러 번 시도했지만 다른 코더의 솔루션을 너무 그들은 System.in 사용하고 succsessful 제출을 가지고 알고 모르겠다 – vidhit

+0

나는 성공적으로 제출 된 코드를 실행했기 때문에 codechef 컴파일러가 다운 된 것 같아요. 동일한 오류 – vidhit

답변

0

귀하의 문제는 여기에 있습니다 :

int i = Integer.parseInt(br.readLine()); 

입력 는 당신이 필요로하는

을 정수로 구문 분석 할 수있는 일이 실제로 경우 입력을 정수로 구문 분석하려고하지만 검증되지 않습니다 입력을 확인하고 입력이 올바른 경우에만 앞으로 진행하십시오.

int i = -1; 
    while (i == -1) { 
     try { 
     i = Integer.parseInt(br.readLine()); 
     } catch (NumberFormatException e) { 
     System.out.println("Wrong input"); 
     } 
    } 
+0

에 반환하도록 작성된 것일 수도 있습니다. 그럼 어떻게해야합니까? – vidhit

+0

입력을 확인하고 입력이 올바른 경우에만 앞으로 가야합니다. ... –

+0

확인 작업이 사용자 정의 입력을 선택했으나 아직 코덱에 그대로 남아 있지만 여전히 받아 들여지지 않고 있습니다 (NZEC). 코드가 코덱 컴파일러에서 실행 중입니다. – vidhit

관련 문제