2017-06-05 8 views
-1

私はいくつかの部分に分かれているJavaの宿題に取り組んでいます。私はパート2で立ち往生しています。これは宿題のダンプではありません。私はパート2で立ち往生しています。私は本当にどんな助けやフィードバックにも感謝します。ありがとう!Javaプログラム提供メソッド/戻り関連のエラー。

(1)ユーザーが選択した文字列を入力するように求めます。文字列にテキストを格納します。文字列を出力します。 (1 PT)

例:私たちは、宇宙で私たちの探求を続けます :

サンプルテキストを入力します。より多くのシャトル便とより多くのシャトルクルーと、より多くのボランティア、より多くの一般市民、より多くの宇宙教師がいるでしょう。何もここで終わらない。私たちの希望と私たちの旅は続きます!

入力済み:私たちは宇宙での探求を続けます。より多くのシャトル便とより多くのシャトルクルーと、より多くのボランティア、より多くの一般市民、より多くの宇宙教師がいるでしょう。何もここで終わらない。私たちの希望と私たちの旅は続きます!

(2)printMenu()メソッドを実装します。このメソッドは、文字列を分析/編集するためのユーザーオプションメニューを出力し、ユーザーが入力したメニューオプションを返します。各オプションは1文字で表されます。

無効な文字が入力された場合は、引き続き有効な選択を求めるプロンプトが表示されます。ヒント:他のオプションを実装する前にQuitを実装してください。 main()メソッドのprintMenu()を呼び出します。ユーザがqをQuitと入力するまでprintMenu()を呼び出し続けます。 (3点)

例:

MENU C - 非空白文字の数 ワット - 言葉 Fの数 - すべての の置き換え - - スペース Qを短くしたテキスト R検索!を -

を終了オプションを選択します。

(3)getNumOfNonWSCharacters()メソッドを実装します。 getNumOfNonWSCharacters()は文字列をパラメータとして持ち、すべての空白を除いて文字列内の文字数を返します。 main()メソッドでgetNumOfNonWSCharacters()を呼び出します。 (4点)

例:私たちは、宇宙で私たちの探求を続けます :

はサンプルテキストを入力します。より多くのシャトル便とより多くのシャトルクルーと、より多くのボランティア、より多くの一般市民、より多くの宇宙教師がいるでしょう。何もここで終わらない。私たちの希望と私たちの旅は続きます!

入力済み:私たちは宇宙での探求を続けます。より多くのシャトル便とより多くのシャトルクルーと、より多くのボランティア、より多くの一般市民、より多くの宇宙教師がいるでしょう。何もここで終わらない。私たちの希望と私たちの旅は続きます!

MENU C - 非空白文字の数 ワット - 言葉 Fの数 - 交換するすべて - テキスト Rを探します!さん の - スペースに Qを短縮 -

を終了オプションを選択してください:非空白文字の C 数:181

マイコード:

import java.util.Scanner; 

public class AuthoringAssistant { 

    public static void main(String[] args) { 
     Scanner sc = new Scanner(System.in); 
     String userInput = sc.nextLine(); 
     System.out.println("Enter a sample text: "); 
     System.out.println(userInput); 

     return printMenu; 
    } 

    public static int printMenu(Character[] menu) { 
     Scanner in = new Scanner(System.in); 
     Character userChar = in.nextCharacter(); 
     System.out.println("MENU"); 
     System.out.println("c - Number of non-whitespace characters"); 
     System.out.println("w - Number of words"); 
     System.out.println("f - Find text"); 
     System.out.println("r - Replace all !'s"); 
     System.out.println("s - Shorten spaces"); 
     System.out.println("q - Quit"); 
     System.out.println("Choose an option: "); 

     if (userChar == 'q') { 
     System.out.println("q"); 
     System.out.println("Quit"); 
     } 
     else if (userChar == 'w') { 
     System.out.println("w"); 
     System.out.println("Number of words: "); 
     } 
     else if (userChar == 'f') { 
     System.out.println("f"); 
     System.out.println("Find text: "); 
     } 
     else if (userChar == 'r') { 
     System.out.println("r"); 
     System.out.println("Replace all !'s: "); 
     } 
     else if (userChar == 's') { 
     System.out.println("s"); 
     System.out.println("Shorten spaces: "); 
     } 
     else if (userChar == 'c') { 
     System.out.println("c"); 
     System.out.println("Number of non-whitespace characters: "); 
     } 
     else { 
     System.out.println("Please select a valid character."); 
     } 

     return char in.nextCharacter(); 
    } 
} 

を私は次のように取得していますエラー:

AuthoringAssistant.java:55: error: '.class' expected 
     return char in.nextCharacter(); 
      ^
AuthoringAssistant.java:55: error: illegal start of expression 
     return char in.nextCharacter(); 
       ^
AuthoringAssistant.java:55: error: ';' expected 
     return char in.nextCharacter(); 
          ^
3 errors 

答えて

0

第1に、スキャナにはnextCharacterメソッドがありません。 hereを参照してください。

第2に、タイプを覆う2つのかっこでキャストが行われます。

(char) someValue 

編集:あなたのreturn文を変更する必要がありますポテトの答え

+2

は何をキャスティング?どの変数がキャストする必要がありますか? –

0

を参照してください。

1)charを返そうとしていますが、あなたのメソッドはintを返します。

public static int printMenu(...){ 
    ... 
    return char ... ; 
} 

2) ".nextCharacter()"が存在しません。あなたはあなたの方法は、文字を返すなかった場合でも宣言するとき、あなただけの型を宣言)「.nextLineを()」を使用する必要があり、その後、「.charAt(x)は」

例:。:

in.nextLine().charAt(0); //To get the first character from the line 

3変数または異なる型へのキャスト

ので、代わりの:

return char myVariable; 

あなただけ記述します。

return myVariable; 
関連する問題