用户定义的方法编译错误

时间:2014-10-22 21:05:20

标签: java compiler-errors user-defined

好的,如果你不喜欢我的缩进(我是初学者),现在道歉..

我无法编译此代码。 赋值是写两个用户定义的方法,一个(布尔值)确定一个字母是否是一个元音,另一个是将用户输入的int(例如:12345)更改为反向(54321) 我对这段代码感到非常困难。 建议和提示将不胜感激。

更新:新代码:

import java.util.Scanner;

public class InClassModule8
{
  public static void main(String[] args) {
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Please enter a letter: ");
    String letter = keyboard.nextLine();
    System.out.println("Please enter an integer: ");
    int digit = keyboard.nextInt();
    System.out.println(isVowel(letter));
    System.out.println("The reversed digits are: " + reverseDigit(digit));
    }
}

  private static boolean isVowel(String line) 
  {
    line = (line != null) ? line.trim() : "";
    if (line.length() == 1) {
        switch (Character.toUpperCase(line.charAt(0))) 
        {
        case 'A': case 'E': case 'I': case 'O': case 'U':
            return true;
        }

    return false;
    }

  private static String reverseDigit(int val) 
  {
    StringBuilder sb = new StringBuilder(String.valueOf(val));
    return sb.reverse().toString();
  }

现在的错误:

  

找到6个错误:文件:/ Users / gcaruso / Documents / CISS 110 / Module   3 /模块4 / In_Class_Module_8.java [第16行]错误:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java:16:类,接口或枚举预期文件:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java [line:19]错误:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java:19:类,接口或枚举预期文件:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java [line:24]错误:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java:24:类,接口或枚举预期文件:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java [line:27]错误:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java:27:类,接口或枚举预期文件:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java [line:32]错误:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java:32:类,接口或枚举预期文件:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java [line:33]错误:   / Users / gcaruso / Documents / CISS 110 / Module 3 / Module   4 / In_Class_Module_8.java:33:class,interface或enum expected

3 个答案:

答案 0 :(得分:1)

您的main()有一些额外的电话。我想你只想要像

这样的东西
public static void main(String[] args) {
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Please enter a letter: ");
    String letter = keyboard.nextLine();
    System.out.println("Please enter an integer: ");
    int digit = keyboard.nextInt();
    System.out.println(isVowel(letter));
    System.out.println("The reversed digits are: " + reverseDigit(digit));
}

要测试它是否是元音,让我们修剪输出并打开大写字符,如 -

private static boolean isVowel(String line) {
    line = (line != null) ? line.trim() : "";
    if (line.length() == 1) {
        switch (Character.toUpperCase(line.charAt(0))) {
        case 'A': case 'E': case 'I': case 'O': case 'U':
            return true;
        }
    }
    return false;
}

要反转该号码,请将其转换为String将其添加到StringBuilder,然后将reverse()添加到<{1}},

private static String reverseDigit(int val) {
    StringBuilder sb = new StringBuilder(String.valueOf(val));
    return sb.reverse().toString();
}

答案 1 :(得分:0)

reverseDigits()

中有一个额外的大括号
    }
    return number;
    }
  }

return number;之后的那个太多了。

答案 2 :(得分:0)

您的代码在第48行有一个额外的大括号。请删除它。

同样在第33行,代码return status应该在结束else语句之后。

else 
{
  status = false;
}
return status;