java - 试图检查用户对我的数组的输入
问题描述
我对 Java 完全陌生,我试图让用户输入来检查我的数组是否有有效输入并继续代码,如果在我得到有效输入之前重复是无效的。
public class Cheesecake {
public static void main(String[] args) {
// TODO Auto-generated method stub
float biteSize = 3;
float small = 9;
float large = 12;
String chosenSize;
double pricePerInch = 0;
double total = 0;
String[] chooseSizes = {"bite size", "small", "large"};
String[] chooseFlavors = {"plain", "strawberry", "raspberry", "caramel", "chocolate"} ;
Scanner scnr = new Scanner(System.in);
System.out.println("Flavors to choose from: plain, strawberry, raspberry, caramel, chocolate."); //giving user flavor list
/*System.out.println("Please choose flavor:");
flavors = scnr.nextLine();*/
String flavors;
while (true) {
System.out.println("Please choose flavor:");
flavors = scnr.nextLine();
if (flavors.equals(chooseFlavors))
break;
else
System.out.println("Please choose from flavors above.");
解决方案
您必须使用 . 检查数组的每个索引flavors
。(应该可能重命名为userFlavor
)。
String[] chooseFlavors = {"plain", "strawberry", "raspberry", "caramel", "chocolate"};
...
boolean flavorFound = false;
while (!flavorFound) { // Loop until flavorFound is true
System.out.println("Please choose flavor:");
userFlavor = scnr.nextLine();
for(int i = 0; i < chooseFlavors.length; i++) { // Loop from 0 to choosFlavors.length
if(userFlavor.equals(chooseFlavors[i]) { // Compare user input to flavor at index i
System.out.println(userFlavor + " found at index " + i);
flavorFound = true; // This is the flag to break out of while loop
break; // Only breaks out of for loop
} else {
System.out.println("Please choose from flavors above.");
}
}
}
推荐阅读
- c# - 成对交换链表
- kotlin - 如何设置 Kotlin/Native 项目,以便将资源与可执行文件放在一起?
- android - 提交时在片段上显示 API 响应
- javascript - 在firebase中创建数组类型的推送
- uwp - UWP 日历日期选择器和时间选择器绑定到一个日期时间
- android - 仅在套接字终止后,从 Android 蓝牙套接字接收的数据才绘制在折线图中
- python - 从 np.cov() 得到的方差矩阵不同于手工计算
- ajax - 将 ajaxform 与 ajax 合并以上传图片
- javascript - JAVASCRIPT 循环遍历一个 jquery 数组并向当前项目添加一个类,同时在下一次从前一个项目中删除该类
- python - Python access nested Dictionary Value