调用 Java 方法
Invoke Java Method
我正在尝试调用 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");
}
}
}
您可以通过指定名称后跟圆括号 (()
) 来调用方法,其中包含您要传递给该方法的参数(如果有的话)。在您的情况下,例如:
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!
}
正如 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()
方法中。
以下是我的建议,它已经过测试并且运行良好。
请注意,您必须确保 if 表达式应在一行中。
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();
//the below is the start of IF expression, put it in one line code
if (letter.toUpperCase().charAt(0)== 'A'||letter.toUpperCase().charAt(0)== 'E'||letter.toUpperCase().charAt(0)== 'O'||letter.toUpperCase().charAt(0)== 'i'||letter.toUpperCase().charAt(0)== 'U' ){ //End of IF expression until here, in 1 line
System.out.println("is a vowel");
}else{
System.out.println(" is a consonant");
}
}
}
我正在尝试调用 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");
}
}
}
您可以通过指定名称后跟圆括号 (()
) 来调用方法,其中包含您要传递给该方法的参数(如果有的话)。在您的情况下,例如:
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!
}
正如 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()
方法中。
以下是我的建议,它已经过测试并且运行良好。 请注意,您必须确保 if 表达式应在一行中。
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();
//the below is the start of IF expression, put it in one line code
if (letter.toUpperCase().charAt(0)== 'A'||letter.toUpperCase().charAt(0)== 'E'||letter.toUpperCase().charAt(0)== 'O'||letter.toUpperCase().charAt(0)== 'i'||letter.toUpperCase().charAt(0)== 'U' ){ //End of IF expression until here, in 1 line
System.out.println("is a vowel");
}else{
System.out.println(" is a consonant");
}
}
}