尝试构建一个程序(Java),用户在其中键入其大小(例如,大,小,L或S), 然后使用sout说"你选择尺寸:小"然后将它们的尺寸传回给它们。 (例如System.out.println("你选择的尺寸:" + selectedSize)
只是想知道是否有一种方式我可以做到这样它验证输入,所以它只接受短语" small" "大" " L"和" S"
我可以找到适用于int的验证器的帮助但是找不到单词/短语的验证器而不是对问题非常具体
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);
}
}
}
对于你们很多人来说可能非常基本但是感谢任何建议!
答案 0 :(得分:0)
对于控制台应用程序,我认为最简单的方法是检查用户是否键入了正确的大小,如果没有则循环。
也许:
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 for string。
答案 1 :(得分:0)
查看关键字switch
。
它可以取代if ()
,也可以仔细查看if ()
行的末尾...有些奇怪的'那里的人物。
此外,if应该在变量selectedsize
...
希望这有帮助。
答案 2 :(得分:0)
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;
}
}
答案 3 :(得分:0)
您还可以使用ArrayList
使用switch
执行与解决方案类似的操作。您添加到此ArrayList
的任何内容都将被接受。
//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");
}
希望这会有所帮助。