给出方法/返回相关错误的Java程序。

给出方法/返回相关错误的Java程序。,java,string,character,Java,String,Character,我正在做Java作业,作业分为几个部分。我被第二部分困住了。这并不意味着是一个家庭作业垃圾场,我只是停留在第2部分,我包括第1部分和第3部分的上下文。我非常感谢任何帮助或反馈。谢谢 (1) 提示用户输入他们选择的字符串。将文本存储在字符串中。输出字符串。(1磅) 例: 输入示例文本: 我们将继续我们的太空探索。将会有更多的航天飞机飞行,更多的航天机组人员,是的,更多的志愿者,更多的平民,更多的教师在太空中。这里没有尽头;我们的希望和旅程还在继续 你进入:我们将继续我们的太空探索。将会有更多的航天

我正在做Java作业,作业分为几个部分。我被第二部分困住了。这并不意味着是一个家庭作业垃圾场,我只是停留在第2部分,我包括第1部分和第3部分的上下文。我非常感谢任何帮助或反馈。谢谢

(1) 提示用户输入他们选择的字符串。将文本存储在字符串中。输出字符串。(1磅)

例:

输入示例文本: 我们将继续我们的太空探索。将会有更多的航天飞机飞行,更多的航天机组人员,是的,更多的志愿者,更多的平民,更多的教师在太空中。这里没有尽头;我们的希望和旅程还在继续

你进入:我们将继续我们的太空探索。将会有更多的航天飞机飞行,更多的航天机组人员,是的,更多的志愿者,更多的平民,更多的教师在太空中。这里没有尽头;我们的希望和旅程还在继续

(2) 实现printMenu()方法,该方法输出用于分析/编辑字符串的用户选项菜单,并返回用户输入的菜单选项。每个选项由单个字符表示

如果输入了无效字符,请继续提示输入有效的选择。提示:在实现其他选项之前先实现退出。在main()方法中调用printMenu()。继续调用printMenu(),直到用户输入q退出。(3个临时秘书处)

例:

菜单 c-非空白字符数 w-字数 f-查找文本 r-全部替换!”s s-缩短空间 q-退出

选择一个选项:

(3) 实现getNumOfNonWSCharacters()方法。getNumOfNonWSCharacters()将字符串作为参数,并返回字符串中的字符数,不包括所有空格。在main()方法中调用getNumOfNonWSCharacters()。(4个临时秘书处)

例:

输入示例文本: 我们将继续我们的太空探索。将会有更多的航天飞机飞行,更多的航天机组人员,是的,更多的志愿者,更多的平民,更多的教师在太空中。这里没有尽头;我们的希望和旅程还在继续

你进入:我们将继续我们的太空探索。将会有更多的航天飞机飞行,更多的航天机组人员,是的,更多的志愿者,更多的平民,更多的教师在太空中。这里没有尽头;我们的希望和旅程还在继续

菜单 c-非空白字符数 w-字数 f-查找文本 r-全部替换!”s s-缩短空间 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

首先,扫描器没有nextCharacter方法。看

第二,铸造是用围绕类型的两个括号来完成的,例如。


编辑:查看Will Potato的答案

您需要更改退货声明

1) 您试图返回一个char,但您的方法返回一个int

public static int printMenu(...){
   ...
   return char ... ;
}
2) “.nextCharacter()”不存在。您需要使用“.nextLine()”然后使用“.charAt(x)”

例如:

3) 即使您的方法确实返回了字符,您也只能在声明变量或转换为其他类型时声明类型

因此,不是:

return char myVariable;
你只要写:

return myVariable;

铸造什么?什么变量需要转换?
return char myVariable;
return myVariable;