java - 尝试检查用户对我的数组的输入

标签 java arrays user-input

我对 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.");

最佳答案

您必须根据您的风格检查数组的每个索引。 (可能应该重命名为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.");
      }
  }

}

关于java - 尝试检查用户对我的数组的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51253879/

相关文章:

java - 从java中的请求获取所有文件路径

java - 泛型问题 - 无法编译代码,可能是由于类型删除

java - 动态添加属性到 StanfordCoreNLP Annotator 或 Pipeline

java - Android如何从其他类更新(UI线程)(真的吗?)

javascript - 使用 JavaScript 将两个数组合并为一个对象的数组

php - 如何通过前缀分隔php数组项

arrays - 使用 @objc func 放置一个空的 imageView 数组

java - 输入之间的空间不会给数组索引带来异常?

c++ - 如何生成包含两个值的随机数?

javascript - 如何使用 Javascript 在用户输入中自动添加连字符?