2013-12-09 1 views
0

다음 문제를 해결해야합니다. 일련의 토큰을 포함하는 Scanner를 매개 변수로 받아들이는 tokenStats라는 메서드를 작성합니다. 합법적 인 정수인 모든 토큰의 합계, 합법적 인 실수이지만 정수가 아닌 모든 토큰의 합계 및 모든 종류의 토큰의 총 수를 출력해야합니다. 예를 들어, 스캐너라는 경우 데이터는 다음 토큰을 포함각 토큰 추적 유지

3 3.14 10 오징어 10.x에서 다음 6.0

tokenStats(data)의 전화;

정수 : 13

실수 : 9.14

총 토큰 다음 출력 인쇄해야 스캐너가 더 토큰이 없으면 6

를, 상기 방법은 인쇄해야

정수 : 0

실수 : 0.0

총 토큰 : 0

그래서, 제 질문입니다. 나는

while (input.hasNext()) { 

if (input.hasNextInt()) { 

를 사용하려고하고 이것은

을 무한 루프를 생성하지만

while (input.hasNext()) { 

input.next(); 

if (input.hasNextInt()) { 

를 사용하는 경우 나는 그것이 INT 경우 내 첫 번째 토큰을 ... 잃을

어떻게해야합니까?

+0

ans를 수락하거나 해결책을 말하고 스레드를 닫으면 좋을 것입니다. – Neha

답변

0

나는 어떤 I가 다음 변수를 추가이

같은 일을 제안 파일에서 정수의 양을 결정하기 위해 모든 시나리오

int totalint =0; 
float totalfloat=0 ; 
int count=0; 
while(input.hasNext()) 
{ 
    String next = input.next(); 
    int n; float f; 
    try{ 
     if(next.contains(".") 
     { 
      f= Float.parseFloat(next); 
      totalfloat += f; 
     } 
     else{ 
      n= Integer.parseInt(next); 
      totalint +=n; 
     }    
    } 
    catch(Exception e){ /*not int nor a float so nothing*/ } 
    count++; 
} 
0

을 포함 ..이 방법을 확인하시기 파일 입력을 통해 찾고 코드 그리고

ArrayList<Integer> list = new ArrayList<Integer>(); 
int EntryCount = 0; 
int IntegerCount =0; 

이 같은 것을들 스캐너의 인스턴스이었다 시도

 while (s.hasNext()) { 
       if(s.hasNextInt() == true){ 
         int add =s.nextInt(); 
         System.out.println(add); 
          list.add(add); 
          IntegerCount++; 
        } 
        EntryCount++; 
       } 

그런 다음 모든 정수의 합을 계산하려면 배열 목록을 반복하면됩니다.

-1
public static void tokenStats(Scanner input) { 
    int integers = 0; 
    double real = 0.0; 
    int tokens = 0; 
    while (input.hasNext()) { 
     if (input.hasNextInt()) { 
      integers+= input.nextInt(); 
     } else if (input.hasNextDouble()) { 
      real+= input.nextDouble(); 
     } else { 
      input.next(); 
     } 
     tokens++; 
    } 
    System.out.println("integers: " + integers); 
    System.out.println("real numbers: " + real); 
    System.out.println("total tokens: " + tokens); 
} 
관련 문제