java - 当单词在 IF 语句中没有元音时,Java 代码将打印 TRUE 的问题
问题描述
我正在尝试编写一个代码,当我输入一个没有元音的单词时将打印 TRUE,如果我输入一个带有元音的单词,将打印 FALSE。我在编写字符串时遇到了麻烦。我给其中一个字符串一个包含所有值的值。字符串 A = "aeiou"; 其他 2 个字符串包含字母表的其余部分。当我输入一个有声部的单词时,它会打印 FALSE,但是当我输入一个没有元音的单词时,它会打印 FALSE。我想知道是否有办法让程序将字符串的值作为单独的实体而不是整行读取。
package lab3;
import java.util.Scanner;
public class Lab3 {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
String input = reader.next();
/* A and B, but not C */
String A = "bcdfghjklm";
String B = "npqrstvwxyz";
String C = "aeiou";
if (input.contains(A) && input.contains(B) || input.contains(C)) {
System.out.println("TRUE");
} else {
System.out.println("FALSE");
}
}
}
解决方案
你可以用一个简短的功能来做到这一点
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
String input = reader.next();
System.out.println(chk(input));
}
static public boolean chk(String s) {
for (int i = 0; i < s.length(); i++) {
if ("aeiou".indexOf(s.charAt(i)) != -1) {
return false;
}
}
return true;
}
}
推荐阅读
- node.js - Shopify API - 获取所有产品(60k 产品)请求超时或套接字挂断
- javascript - 隐藏可见区域之外的项目
- python - 如何使用 csv 模块计算出现次数并计算评分?
- javascript - Dialogflow 在没有用户意图的情况下发送消息
- c - 如何求解 4 个变量的方程
- c - int c 与 c == "\n" 和 c ==" " 冲突?
- java - 如何编写Java语句来显示2个数字之间的整数?
- android - 如何从奥利奥的内部存储中打开 PDF 文件?
- java - 使用 Java Stream 比较两个整数数组
- vba - 如何从 Outlook 电子邮件正文中复制电子邮件地址并将其插入新电子邮件的收件人字段?