我刚进入我的第二个编程主题,但我的教授只是向我们抛出了他没有教过的东西所以我猜我需要人们的帮助,因为搜索互联网的帮助是不够的
所以我正在寻找的输出是这样的
Enter word : #$nsaei!
result = 2
答案 0 :(得分:0)
使用Scanner尝试这样的事情,使用toCharArray()将String
输入转换为char数组,并使用isLetterOrDigit检查每个字符并检查字符是否不是在"AEIOUaeiou"
使用indexOf(),因此不是元音:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Please enter a word:");
String input = sc.nextLine();
int consonantOrDigits = 0;
for(char c : input.toCharArray()) {
if(Character.isLetterOrDigit(c) && "AEIOUaeiou".indexOf(c) == -1)
consonantOrDigits++;
}
System.out.println(consonantOrDigits);
}
}
试试here!
答案 1 :(得分:0)
你可以这样做:
System.out.println("Enter word: ");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
int count = 0;
for (int i = 0; i < input.length(); i++) {
if (String.valueOf(input.charAt(i)).matches("^[a-zA-Z0-9&&[^aeuio]]*$")) {
count++;
}
}
System.out.println("result: " + count);
希望这有帮助。