在使用案例时,如何在第89行修复<identifier>预期错误?

时间:2017-10-04 22:51:05

标签: java string methods identify

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时,它导致了比之前更多的错误。

1 个答案:

答案 0 :(得分:0)

看起来你只是在学习Java,恭喜! ccKep是正确的,你缺少几个标识符。要在Java中定义变量,您必须告诉编译器变量将保持什么类型。与将menuChoicenum1定义为类型int的方式相同,您必须对变量case4StringnewString执行相同的操作。

另一个问题是,您无法在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();
    }

}