我正在尝试获取用户输入的字符串并返回字符串中的元音。我得到的错误如下:
> VowelsA3.java:13: error: cannot find symbol
> if (isVowel.isVowelValid(letter) = true)
> ^ symbol: method isVowelValid(char) location: class isVowel
这是我的代码“VowelsA3”(我的主要不会编译):
import java.util.Scanner;
public class VowelsA3
{
public static void main (String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Please enter a string.");
String userInput = scan.nextLine();
char letter = 'x';
for (int i = 0; i <= userInput.length(); i++)
{
letter = userInput.charAt(i);
if (isVowel.isVowelValid(letter) = true)
{
System.out.println(letter);
}
}
}
}
这是我编译的方法“isVowel”:
public class isVowel
{
public static boolean isValidVowel(char letter)
{
boolean trueVowel = false;
{
if (letter == 'a' || letter == 'e' || letter == 'i' || letter == 'o' || letter == 'u')
{
trueVowel = true;
}
else
{
trueVowel = false;
}
return trueVowel;
}
}
}
有什么想法吗?我被告知我是一个白痴,因为错误是因为我的方法返回了一个真/假,但是我认为我必须这样做,以便if语句能够正常工作 - “== true”没有我询问返回值是否为真我不知道它是否是元音,对吧?
答案 0 :(得分:0)
您需要使用CLASSNAME.STATIC_METHOD_NAME(PARAMETERS)
if (isVowel.isValidVowel(letter) == true)
而不是
if (isVowel(letter) == true)
因为你将isVowel作为类名,所以你不能使用classname(参数)而是需要使用classname.isVowel方法。
此外,您需要更改
的循环for (int i = 0; i <= userInput.length(); i++)
要
for (int i = 0; i < userInput.length(); i++)
另外,为了比较,您应该使用
if (isVowel.isVowelValid(letter)) //or use ==
而不是
if (isVowel.isVowelValid(letter) = true)
答案 1 :(得分:0)
isVowel
是一个类,isValidVowel()
是此类中的一个方法。因此,您应该致电
isVowel.isValidVowel(letter).isValidVowel
而不是isVowelValid
。
您应该致电isVowel.isValidVowel(letter) == true.
实际上因为isValidVowel(letter)
返回true/false
,您不需要check == true
。只需致电
if (isVowel.isValidVowel(letter))
System.out.println(letter);
答案 2 :(得分:0)
isVowelValid
isValidVowel
Typo警报。这些都不一样。
在更正拼写错误后,这也是编译错误:
// v
if( isVowel.isValidVowel(letter) = true )
=
是赋值运算符。您的意思是使用==
进行比较。
答案 3 :(得分:0)
您定义的方法称为:
isValidVowel
您正在调用的方法是:
isVowelValid
看到区别?您正在调用的方法名称与您定义的方法名称不同。
将您的调用更改为:
if (isVowel.isValidVowel(letter) == true)
然后它会起作用。
(请注意,您需要使用比较运算符==
而不是分配操作=
,或者您可以完全删除整个== true
部分。
答案 4 :(得分:0)
将if(...)
中的VowelsA3
更改为
if (isVowel.isValidVower(letter))
而不是
if (isVowel.isVowelValid(letter) = true)