java - 如果选项有效但否则如果不

标签 java

我有一个正在研究的方法,它是一个更大程序的一部分,但我认为我发布的代码就足够了。

当我在菜单中选择选项 1 时,它可以正常工作,但是当我选择选项 2 时,它只是结束程序。有人能发现问题吗?

解决:choice == 1应该是2

我还可以补充这个问题吗,最好将输入的数据放入一个数组中,如果是这样,我应该在主类、父类(super class)还是子类中声明数组

static void addBook(){
            String title,author;
            int choice;
            boolean onLoan;
            loanbook book1; // TESTING ONLY
            System.out.print("Press 1 for Fiction or 2 for Non Fiction: ");  // sub menu for fiction and non fiction
            choice = keyboard.nextInt();
            if (choice == 1){

                System.out.println("Please enter book title: ");
                title = keyboard.nextLine();
                title = keyboard.nextLine();
                System.out.println("Please enter book author: ");
                author = keyboard.nextLine();
                onLoan = false; // not used yet
                book1 = new fiction(title,author);
                System.out.println(book1.toString());
        }
            else if (choice == 1) {
                System.out.println("Please enter book title: ");
                title = keyboard.nextLine();
                title = keyboard.nextLine();                ;
                System.out.println("Please enter book author: ");
                author = keyboard.nextLine();
                onLoan = false; // not used yet
                book1 = new nonfiction(title,author);
                System.out.println(book1.toString());
            }

        }

最佳答案

您写道:if (x == 1) { } else if (x == 1) {}

如果 choice 等于 1,您永远无法进入 else 部分。另一方面,如果你在 else 体中,choice 无法匹配 1,因为你知道它不等于 1 , 因为第一个条件为假,所以你进入了 else 部分。

关于java - 如果选项有效但否则如果不,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694122/

相关文章:

java - 在 JAVA 中运行 Linux 命令的转义序列无效

java - 连接 2 个字节数组,然后转换为音频流

java - MediaPlayer 在开始另一个 Activity 时停止

java - Hibernate返回空对象

java - org.apache.http.HttpRequest 如何添加正文

java - 如何根据 map 键制作一组

java - web.xml 在启动时将类加载到上下文中

java - 将字符串中每个 int 的总和相加

java - 使用 jOOQ 更新 Postgres 日期范围

java - Perl 客户端到 JAX-WS java 服务器问题