Java - 验证一系列字母之间的字符串

时间:2016-12-14 16:46:15

标签: java validation loops

我为一个更大的程序编写了一个简单的测试程序,我需要通过从a到g的一系列字母来验证String。

下面的测试程序应该要求一封信,然后如果在a-g范围内打印一条接受消息,否则说'oops'并再次询问。

4 个答案:

答案 0 :(得分:1)

试用此代码:

public static void main(String... params) {
    Scanner s = new Scanner(System.in);
    Character minValue = 'a';
    Character maxValue = 'g';
    while (true) {
        System.out.print("enter a char between a-g: ");
        Character input = s.nextLine().charAt(0);
        if (input >= minValue && input <= maxValue) {
            System.out.println("Ok");
        } else {
            System.out.println("oops");
            System.exit(0);
        }
    }
}

答案 1 :(得分:0)

您可以使用charString获得charAt(index)

您可以使用char之类的简单比较来检查c >= 'a' && c <= 'g'是否符合给定范围。

答案 2 :(得分:0)

首先,我不认为你应该为你的变量命名&#34; a&#34;。

Aniways,我会像这样验证我的输入:

a.compareTo(maxValue) >= 0 && a.compareTo(minValue) <= 0 && a.length == 1

答案 3 :(得分:0)

请尝试使用以下代码:

import java.util.Scanner;

import java.util.Scanner;

public class StringValidation {     public static void main(String [] args){

    Scanner input = new Scanner(System.in);

    String a = null;
    char minValue = 'a';
    char maxValue = 'g';
    boolean loop = true;
    int i = 0;

    while (loop) {
        System.out.print("enter a char between a-g: ");
        a = input.nextLine();
        if ((int) minValue <= (int) a.charAt(i)) {
            if ((int) maxValue <= (int) a.charAt(i)) {
                System.out.println("Oops! ");
                System.out.print("enter a char between a-g: ");
                i++;
                input.nextLine();
            } else {
                System.out.println("Accepted");
                break;
            }
        }
    }
    input.close();
}

}