我正在研究Java作业,它分为几个部分。我被困在第2部分。这不是一个家庭作业转储,我只是坚持第2部分,我包括第1部分和第3部分的上下文。我真的很感激任何帮助或反馈。谢谢!
(1)提示用户输入他们选择的字符串。将文本存储在字符串中。输出字符串。 (1分)
例如:
输入示例文字: 我们将继续我们在太空中的探索。将有更多的班车航班和更多的班车服务员,是的,更多的志愿者,更多的平民,更多的太空教师。没有什么在这里结束;我们的希望和旅程继续!
你输入了:我们将继续我们在太空中的任务。将有更多的班车航班和更多的班车服务员,是的,更多的志愿者,更多的平民,更多的太空教师。没有什么在这里结束;我们的希望和旅程继续!
(2)实现printMenu()方法,该方法输出用于分析/编辑字符串的用户选项菜单,并返回用户输入的菜单选项。每个选项都由一个字符表示。
如果输入了无效字符,请继续提示输入有效字符。提示:在实现其他选项之前实施Quit。在main()方法中调用printMenu()。继续调用printMenu(),直到用户输入q退出。 (3分)
例如:
MENU c - 非空白字符数 w - 单词数量 f - 查找文字 r - 替换所有! s - 缩短空间 q - 退出
选择一个选项:
(3)实现getNumOfNonWSCharacters()方法。 getNumOfNonWSCharacters()有一个字符串作为参数,并返回字符串中的字符数,不包括所有空格。在main()方法中调用getNumOfNonWSCharacters()。 (4分)
例如:
输入示例文字: 我们将继续我们在太空中的探索。将有更多的班车航班和更多的班车服务员,是的,更多的志愿者,更多的平民,更多的太空教师。没有什么在这里结束;我们的希望和旅程继续!
你输入了:我们将继续我们在太空中的任务。将有更多的班车航班和更多的班车服务员,是的,更多的志愿者,更多的平民,更多的太空教师。没有什么在这里结束;我们的希望和旅程继续!
MENU c - 非空白字符数 w - 单词数量 f - 查找文字 r - 替换所有! 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
答案 0 :(得分:0)
答案 1 :(得分: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;