我正在尝试编写代码,当我输入不带元音的单词时将打印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;
    }
}

关于java - Java代码出现问题,当IF语句中的单词没有元音时,该代码将输出TRUE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58470979/

10-13 01:19