用户定义的方法java的问题

时间:2014-10-22 15:50:17

标签: java methods compiler-errors

我这里有很多问题,首先,代码不会编译:

我第一次尝试使用用户定义的方法(正如你所看到的)我遇到了一些麻烦。

作业: 使用以下两个用户定义的方法编写java类: 编写一个名为isVowel的值返回方法,如果给定的字符是元音,则返回布尔值true,否则返回布尔值false。 编写一个名为reverseDigit的值返回方法,该方法将int(整数)作为参数,并返回其数字反转的数字。例如,调用reverseDigit(12345)将返回int值54321。 编写此类的主要方法来测试上面两个用户定义的方法。 有些事情要考虑: 传递给isVowel方法的参数的数据类型是什么? isVowel方法需要一些条件逻辑来做出这个决定,首先要实现这个可能是写入测试显式元音。 对于reverseDigit方法,您可能需要考虑几种不同的方法来实现此目的。一种可能是首先将传递的int值转换为String,然后构建该String的反转,然后可以将其转换为int。查看Integer和String类API。另一种方法是使用纯粹的数学方法。

非常感谢任何有关使这些方法工作和编译的提示或帮助。

这些是错误:

14 errors found:
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 21]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:21: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 25]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:25: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 26]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:26: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 27]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:27: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 31]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:31: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 32]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:32: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 33]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:33: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 35]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:35: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 38]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:38: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 39]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:39: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 42]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:42: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 43]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:43: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 44]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:44: class, interface, or enum expected
File: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java  [line: 46]
Error: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/In_Class_Module_8.java:46: class, interface, or enum expected

代码:

import java.util.Scanner;

public class In_Class_Module_8 {
  public static void main(String[] args){

  }

  public static boolean isVowel(String word){
    Scanner keyboard = new Scanner(System.in);
    char vowels;
    System.out.print("Enter a letter: ");
    vowels = keyboard.findWithinHorizon(".", 0).charAt(0);
    if (word.length()!=1) return false;
    char vowels=word.toLowerCase().charAt(0);
    if(vowels== 'a'|| vowels =='e' || vowels=='i'|| vowels == 'o' ||  vowels == 'u'){
      return true;
    } 
    return false;
  }
}

public static void reverseInteger() {
  Scanner keyboard = new Scanner( System.in );
  System.out.print( "Enter an integer (-1 to exit): " );
  int number = keyboard.nextInt();
  while ( number != -1 ) {
    System.out.printf( "%d reversed is %d\n",
        number, reverseDigits( number ) );
    System.out.print( "Enter an integer (-1 to exit): " );
        number = keyboard.nextInt();
  }
}

public int reverseDigits( int number ) {
  int reverseNumber = 0;
  int placeValue;
  while ( number > 0 ) {
    placeValue = number % 10;
    number = number / 10;
    reverseNumber = reverseNumber * 10 + placeValue;
  }
  return reverseNumber;
}
}

public class Module8Test {
  public static void main( String args[] ) {
    Reverse application = new Reverse();
    application.reverseInteger();
  }
}

2 个答案:

答案 0 :(得分:1)

你有两个}

}
}

并且您正在关闭类之前的下一个方法reverseInteger() - 修复您的缩进,以便明确您做错了什么;)

更新:您在同一个文件中有两个公共类!这是不允许的 - 将它们分成两个文件,文件名与它们各自的类名完全相同。

更新2:此外,您不需要在每个类中使用空的main方法。只在你开始你的程序的地方

更新3:你需要一个单独的类Reverse来实现这个包含一个非静态的reverseInteger()方法来实现它。假设你将通过Class的实例调用它反转..否则只需使用In_Class_Module_8.reverseInteger()。

答案 1 :(得分:1)

你的代码是错误的..

1)你正在定义两次叫做元音的变量..

2)您正在调用静态方法中的非静态方法。

3)括号问题。

最重要的是你没有给出反向课程。

注意:如果您希望我们为您提供帮助,请正确格式化您的代码。这将使所有人都更容易。