调用Java方法

时间:2015-11-13 20:50:37

标签: java methods

我尝试调用java方法来确定用户输入的字母是元音还是辅音。不确定如何正确调用该方法。

import java.util.*;
public class HW8Problem1{
   public static void main(String[] args) {

      Scanner input = new Scanner(System.in);

      System.out.print("Enter a letter: ");

      String letter = input.nextLine();

   }

   public static void vowel(String a){

      if (a.charAt(0) == 'a' || a.charAt(0) == 'A'){
         System.out.println(" is a vowel");

         if (a.charAt(0) == 'e' || a.charAt(0) == 'E')
            System.out.println(" is a vowel");

         if (a.charAt(0) == 'i' || a.charAt(0) == 'I')
            System.out.println(" is a vowel");

         if (a.charAt(0) == 'o' || a.charAt(0) == 'O')
            System.out.println(" is a vowel");

         if (a.charAt(0) == 'u' || a.charAt(0) == 'U')
            System.out.println(" is a vowel");

         else
            System.out.println(" is a consonant");    

      }
   }
}

3 个答案:

答案 0 :(得分:2)

您可以通过指定其名称后跟括号(())来调用方法,其中包含要传递给方法的参数(如果有)。在你的情况下,例如:

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.print("Enter a letter: ");
    String letter = input.nextLine();
    vowel(letter); // Here!
}

答案 1 :(得分:2)

正如Mureinik所说,你可以使用vowel(line);来调用该方法 但看到你的代码,我建议另外一些改进。总是尽量不要重复自己。你能看到你多次重复几乎相同的代码部分吗?删除重复项并以不同方式创建方法,例如:

private static boolean isVowel(String line) {
    line = line.toLowerCase();
    return line.equals("a") || line.equals("e") || line.equals("i") || line.equals("o") || line.equals("u");
}

然后在main方法中打印

System.out.println(isVowel(line) ? " is a vowel" : " is a consonant");

请注意,此解决方案假定line不是null而是line.length() == 1。尝试自己练习输入参数处理,这样就不会将单词传递给isVowel()方法。

答案 2 :(得分:1)

以下是我的建议,它已经过测试并且运行良好。 请注意,您必须确保if表达式应位于一行中。

HKSourceRevision