import java.util.Scanner;
public class MethodTestingLab {
public static void main(String[] args) {
int menuChoice, num1;
Scanner keyboardReader = new Scanner(System.in);
// Display Menu
System.out.println("Menu\n 1.chkNextInt\n 2.twoDigitNumber\n 3.big2Digits\n 4.reverseString\n 5.max3\n");
// User choice
System.out.print("Enter your choice ");
menuChoice = keyboardReader.nextInt();
// Cases
switch(menuChoice) {
case 4:
System.out.println("Given a three-lettered string, returns the string that is the reverse of its characters.");
System.out.print("Enter a string: ");
case4String = keyboardReader.next();
System.out.println(reverseString(case4String));
break;
}
System.out.println("End");
}
// Method 4
public static String reverseString(case4String) {
newString = case4String.charAt(2) + case4String.charAt(1) + case4String.charAt(0);
return newString;
}
}
//如何修复方法4中的识别错误?我无法编译它直到它被修复,当我尝试在case4String之前添加String时,它导致了比之前更多的错误。
答案 0 :(得分:0)
看起来你只是在学习Java,恭喜! ccKep是正确的,你缺少几个标识符。要在Java中定义变量,您必须告诉编译器变量将保持什么类型。与将menuChoice
和num1
定义为类型int
的方式相同,您必须对变量case4String
和newString
执行相同的操作。
另一个问题是,您无法在char
方法中将+
类型与reverseString
运算符连接起来。有几种方法可以解决这个问题。从String
类型获取char
的一种方法是从String
数组创建新的char
。
// Method 4
static String reverseString(String case4String) {
char[] chars = {case4String.charAt(2), case4String.charAt(1), case4String.charAt(0)};
String newString = new String(chars); // and here.
return newString;
}
或者您可以使用ccKep提供的Reverse a string答案中的一条建议。
// Method 4
static String reverseString(String case4String) {
StringBuilder newStringBuilder = new StringBuilder(case4String); // and here.
return newStringBuilder.reverse().toString();
}
这是一个更好的答案,因为它不会限制您使用charAt
解决方案的三个字符限制。这里是固定标识符的代码和第二个提议的解决方案。
import java.util.Scanner;
public class MethodTestingLab {
public static void main(String[] args) {
int menuChoice, num1;
Scanner keyboardReader = new Scanner(System.in);
// Display Menu
System.out.println("Menu\n 1.chkNextInt\n 2.twoDigitNumber\n 3.big2Digits\n 4.reverseString\n 5.max3\n");
// User choice
System.out.print("Enter your choice ");
menuChoice = keyboardReader.nextInt();
// Cases
switch(menuChoice) {
case 4:
System.out.println("Given a three-lettered string, returns the string that is the reverse of its characters.");
System.out.print("Enter a string: ");
String case4String = keyboardReader.next();
System.out.println(reverseString(case4String));
break;
}
System.out.println("End");
}
// Method 4
public static String reverseString(String case4String) {
StringBuilder newStringBuilder = new StringBuilder(case4String); // and here.
return newStringBuilder.reverse().toString();
}
}