Java 验证用户输入的短语
试图构建一个程序(Java),用户在其中键入其大小(例如大、小、L或S), 然后,它会使用一个sout(您选择的大小:小)(例如System.out.println(“您选择的大小:”+selectedSize))将它们的大小转发给它们 只是想知道是否有一种方法可以让它验证输入,这样它只接受短语“small”“large”“L”和“S” 我可以找到对int有效的验证器的帮助,但是如果没有对问题非常具体的话,就找不到对单词/短语有效的验证器Java 验证用户输入的短语,java,validation,input,phrase,Java,Validation,Input,Phrase,试图构建一个程序(Java),用户在其中键入其大小(例如大、小、L或S), 然后,它会使用一个sout(您选择的大小:小)(例如System.out.println(“您选择的大小:”+selectedSize))将它们的大小转发给它们 只是想知道是否有一种方法可以让它验证输入,这样它只接受短语“small”“large”“L”和“S” 我可以找到对int有效的验证器的帮助,但是如果没有对问题非常具体的话,就找不到对单词/短语有效的验证器 import java.util.Scanner; {
import java.util.Scanner;
{
System.out.print("Enter Size: ");
Scanner size = new Scanner(System.in);
String selectedsize = size.next();
if (size.hasNext());
{
System.out.println("Size Selected is: " + name1);
}
}
}
对于很多人来说,这可能是非常基本的,但谢谢你的建议!对于控制台应用程序,我认为最简单的方法是检查用户键入的大小是否正确,如果没有,则循环 也许:
Scanner in = new Scanner(System.in);
while(true){
String input = in.nextLine();
switch(input.toLowerCase()) {
case "small":
case "s":
chooseSmall();
break;
case "large":
case "l":
chooseLarge();
break;
case "q":
System.out.println("Good bye!");
System.exit(0);
default:
System.out.println("Incorrect option. Please try again.");
continue;
}
break;
}
警告:未测试。switch语句中的字符串需要Java 7。查看关键字
switch
它可以替换if()
,还可以仔细查看if()
行的末尾……那里有一些“奇怪”字符
此外,还应在变量selectedsize
上执行if
希望这有帮助。您也可以使用
ArrayList
执行类似于使用开关的解决方案的操作。您添加到此ArrayList
的任何内容都将是可接受的响应
public static void main(String[] args) {
System.out.print("Enter Size: ");
Scanner size = new Scanner(System.in);
String selectedsize = "";
if (size.hasNext()) {
selectedsize = size.next();
}
switch (selectedsize) {
case "small":
case "s":
System.out.println("Size Selected is: " + selectedsize);
break;
case "large":
case "l":
System.out.println("Size Selected is: " + selectedsize);
break;
default:
System.out.println("exit");
break;
}
}
//Set up accepted responses
ArrayList<String> acceptedResponses = new ArrayList<>();
acceptedResponses.add("LARGE");
acceptedResponses.add("L");
acceptedResponses.add("SMALL");
acceptedResponses.add("S");
System.out.print("Enter Size: ");
Scanner size = new Scanner(System.in);
String selectedsize = size.next();
if (acceptedResponses.contains(selectedsize.toUpperCase())){
System.out.println("Size Selected is: " + selectedsize);
}else{
System.out.println("Not a valid shirt size");
}
//设置接受的响应
ArrayList acceptedResponses=新的ArrayList();
接受响应。添加(“大”);
接受回复。添加(“L”);
接受响应。添加(“小”);
接受回复。添加(“S”);
系统输出打印(“输入大小:”);
扫描仪尺寸=新扫描仪(系统英寸);
字符串selectedsize=size.next();
if(acceptedResponses.contains(selectedsize.toUpperCase())){
System.out.println(“所选尺寸为:“+selectedsize”);
}否则{
System.out.println(“不是有效的衬衫尺寸”);
}
希望这有帮助。尝试了如上所示的hasNext,但我只能使用Intsit的nextLine进行字符串输入。它将等待用户按enter键,然后读取该行。