2017-04-25 21 views
-2

次のJavaプログラムを作成しました。このプログラムでは、String形式のStatementが使用されます。そのステートメントのすべての単語は、配列に別々に格納されます。メインドライバでvoidメソッドではないメソッドを呼び出すには?

例 - 文字列ステートメント= "hello world i love dogs"; - {hello、world、i、love、dogs}のように配列に格納されます

私は次のコードを書いていますが、メインメソッドのメソッドを呼び出すと、必要に応じて作業します。

どうすれば出力を得ることができますか?

public class Apcsa2 { 

/** 
* @param args the command line arguments 
*/ 


public String sentence; 

public List<Integer> getBlankPositions(){ 

    List<Integer> arr = new ArrayList<Integer>(); 

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

     if(sentence.substring(i, i +1).equals(" ")){ 
      arr.add(i); 
     } 


    } 


    return arr; 
} 

public int countWords(){ 
    return getBlankPositions().size() + 1; 

} 

public String[] getWord(){ 

    int numWords = countWords(); 
    List<Integer> arrOfBlanks = getBlankPositions(); 

    String[] arr = new String[numWords]; 

    for (int i = 0; i<numWords; i++){ 

    if (i ==0){ 
    sentence.substring(i, arrOfBlanks.get(i)); 
    arr[i] = sentence; 
    }else{ 

     sentence.substring(i + arrOfBlanks.get(i), arrOfBlanks.get(i+1)); 
     arr[i] = sentence; 

    } 

     } 


    return arr; 

} 



public static void main(String[] args) { 
    // TODO code application logic here 

    int[] arr = {3,4,5,2,4}; 

    String sentence = "hello world I love dogs"; 
} 

}

+0

_私は以下のコードを書いていますが、メインメソッドのメソッドを呼び出すと、要求通りに機能しないため、チェックできません。単純に 'static'メソッドを呼び出すメソッドや、' main'メソッドの中で 'Apcsa2'クラスのインスタンスを作成し、実行したいメソッドを呼び出すだけです。 –

+0

文字列を '分割する '場合は、' String'クラスが提供する標準的な機能を調べるべきです。あなたもこのメソッドの実際のコードを見ることができます –

+0

私は以下のApcsa2 p = new Apcsa2();を書きました。 p.getWord(); System.out.print(p); まだ何も起こっていません。では、どのように文章を入力して、希望の出力を得るのですか? –

答えて

0

私はあなたの目的を理解していれば、私はあなたが単語の数をカウントするようにしたいともそれを取得/印刷したいと思います。そうであれば、これほど複雑なことはありません。下記のプログラムを使用してください。

public class Apcsa2 { 

    public static void main(String[] args) { 
     String input="hello world I love dogs"; 

     String[] arryWords=input.split("\\s+"); 

     //Count-Number of words 
     System.out.println("Count:"+arryWords.length); 

     //Display each word separately 
     for(String word:arryWords){ 
      System.out.println(word); 
     } 

    } 
} 
関連する問題