2016-11-01 3 views
0

나는 비 모음의 수와 함께 문자열에있는 모음의 수를 정렬해야하는 학교에서 일하고 있습니다. 선생님은 사용자에게 프로그램을 계속 실행하지 않고 여러 가지 테스트 케이스를 제공 할 수 있도록 계속 진행할 것인지 묻는 것이 필요합니다. 프로그램을 성공적으로 루프에 넣었지만 내 문제는 이전 테스트 케이스의 모음 및 비 모음 번호가 다음 번호로 이어지는 것입니다. 나는 해결책을 찾기 위해 온라인 검색을 해왔지만 지금까지는 운이 없었습니다. 어떤 도움이라도 대단히 감사 할 것입니다. (나는 아직도 많이 배워야, BTW 프로그램에서 멍청한 놈입니다.) 당신은 하나의 객체에 우리의 카운트를 추적 할 수있는 문자열로 키와 Map를 사용do while 루프 (Java)로 데이터를 재설정 할 때의 문제

import java.util.*; 
 

 
class VowelReader 
 
{ 
 
    public static void main(String[] args) 
 
    { 
 
    String line; 
 
    int vi= 0, a = 0, e = 0, o = 0, u = 0, nonvowels = 0; 
 
    String answer = null; 
 
    
 

 
    Scanner scan = new Scanner (System.in); 
 
    
 
do { 
 
    System.out.println("Enter a String to be processed for vowels: "); 
 
    line = scan.nextLine(); 
 
    
 
    for(int i = 0; i < line.length(); i++){ 
 
    char c = Character.toLowerCase(line.charAt(i)); 
 
    switch (c) 
 
    { 
 
     case 'a': 
 
     a++; 
 
     break; 
 
     case 'e': 
 
     e++; 
 
     break; 
 
     case 'i': 
 
     vi++; 
 
     break; 
 
     case 'o': 
 
     o++; 
 
     break; 
 
     case 'u': 
 
     u++; 
 
     default: 
 
     nonvowels++; 
 
     break; 
 
     } 
 
    } 
 
    System.out.println(line); 
 
    System.out.println("a- " +a); 
 
    System.out.println("e- " +e); 
 
    System.out.println("i- " +vi); 
 
    System.out.println("o- " +o); 
 
    System.out.println("u- " +u); 
 
    System.out.println("Non-vowels -" +nonvowels); 
 
    
 
    System.out.println("Continue?(Y/N)"); 
 
     answer = scan.nextLine(); 
 
     } 
 
     while(answer.toLowerCase().equals("y")); 
 
       
 
    } 
 
}

+1

말 그대로 루프 끝에서 0으로 설정할 수 있습니다. 더 좋은 방법은 루프 코드를 자신의 함수에 넣고 모음 수를 반환하는 것입니다. – Carcigenicate

+0

그래, 내 무능에 대해 사과하지만 어떻게 그들은 메인에 이미 정의 된 경우 변수를 재설정까요? – Mauser137

+0

코드를 자신의 함수에 넣으면 함수 내에 정의되고 함수가 종료 될 때 자동으로 삭제됩니다. 모음 수의 복사본을'main'에'반환 '하게됩니다. 함수를 사용하여 반환하는 방법을 배웠습니까? – Carcigenicate

답변

0

. 그런 다음 각 테스트/문자열에 대해 하나씩 List에 여러 개의 맵을 배치 할 수 있습니다. 그런 다음 다른 데이터 세트에서 동일한 테스트를 수행하는 목록을 반복 할 수 있습니다.

숙제 일 뿐이며 어떤 코드도 게시하지 않을 것입니다.