我为一个更大的程序编写了一个简单的测试程序,我需要通过从a到g的一系列字母来验证String。
下面的测试程序应该要求一封信,然后如果在a-g范围内打印一条接受消息,否则说'oops'并再次询问。
答案 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)
您可以使用char
从String
获得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();
}
}