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