2017-12-10 5 views
0

小文字の英字 および/または '_'(アンダースコア)からなる文字列sが与えられます。すべての下線文字(ある場合) を文字列にある母音に置き換える必要があります。文字列に含まれる母音にすべてのアンダースコアを置き換えます。

次の規則が適用されます。各アンダースコアは、その前に付いている母音のいずれかの に置き換えることができます。

上記の規則に従って、 が生成できる文字列の総数を教えてください。

私のコードは、文字列の上にいくつかの入力

import java.io.BufferedReader; 
import java.io.InputStreamReader; 




import java.util.*; 

class TestClass { 
    public static void main(String args[]) throws Exception { 


     Scanner sc = new Scanner(System.in); 
     String test = sc.nextLine(); 
     int a=0,e=0,i1=0,o=0,u=0; 
     int ans = 1; 

     for(int j=0;j<Integer.parseInt(test);j++){ 

      String s = sc.nextLine(); 
      // System.out.println(s); 

       for(int i=0;i<s.length();i++){ 

        if(s.charAt(i)=='a' || s.charAt(i)=='o' || s.charAt(i)=='i' || s.charAt(i)=='e' || s.charAt(i)=='u') { 

          if(s.charAt(i)=='a') 
          a=1; 

          else if(s.charAt(i)=='e') 
          e=1; 
          else if(s.charAt(i)=='i') 
          i1=1; 
          else if(s.charAt(i)=='o') 
          o=1; 
          else if(s.charAt(i)=='u') 
          u=1; 


        } 

        else if(s.charAt(i)=='_'){ 
         int sum = a + e +i1 +o + u; 
         if(sum != 0) 
         ans = ans * sum; 
        } 

       } 


     if(ans!=0) 
     System.out.println(ans); 
     else 
     System.out.println(1); 
     ans = 1; 
     a=0; 
     e=0; 
     i1=0; 
     o=0; 
     u=0; 
     } 

    } 
} 
+0

サンプル入力と期待される出力を提供してください –

+0

サイトをどのように動かしているのか、ここでどのような質問が話題になっているのかを見て、それに応じてあなたの質問を編集してください(http://stackoverflow.com/tour)。参考:[小規模プログラムのデバッグ方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/) –

答えて

0

反復に間違った出力を与え、と母音の数を掛け、とすぐにアンダースコアが発生したとして母音

のカウントを維持しています和。

int sum = 1, noOfVowels = 0; 
for(int i=0; i<str.length(); i++) { 
    if("aeiou".indexOf(str.charAt(i)) >= 0) { 
     noOfVowels++; 
    } else if("_".indexOf(str.charAt(i)) >= 0) { 
     sum = (sum * noOfVowels <= 0) ? 1: sum * noOfVowels; 
    } 
} 
return sum; 

入力:a_e_i

出力:2(aAeAi、aAeEi)

入力:8 (aeAioA、aeAioE、aeEioA、aeEioE、aeAioI:

出力ae_io_ aeEioO、aEEioI、aEEioO)

関連する問題