首页 > 解决方案 > 我试图弄清楚为什么我的程序无论如何都使用所有语句(Java新手)

问题描述

我正在尝试修复这个程序,无论我做什么,即使不满足条件,它也会打印每一个响应。我觉得我走了很长一段路。帮助会很棒

import java.util.Scanner;


public class NoahJetRoberts_Project_2{


    public static void main(String args[]){

        Scanner in = new Scanner(System.in);

        System.out.println("Hello! this programe will help you decide where your party can eat!");
        System.out.println("Is anyone here a vegan? (yes or no)");
        String vegan = in.nextLine();
        System.out.println("Okay, does anyone need gluten-free food?(yes or no)");
        String GF = in.nextLine();
        System.out.println("Is anyone a vegetarian?(yes or no)");
        String vege = in.nextLine();
        if (vegan.equals("yes") && GF.equals("yes") && vege.equals("yes"));
        {
            System.out.println("Okay, you can go to The Chef’s Kitchen and Corner Café");
        }

        if (vegan.equals("no") && GF.equals("no") && vege.equals("no"));
        {
            System.out.println("Okay, you can go anywhere");
        }
        if (vegan.equals("yes") && GF.equals("no") && vege.equals("no"));
        {
            System.out.println("Okay, you can go to The Chef’s Kitchen and Corner Café");
        }
        if (vegan.equals("no") && GF.equals("yes") && vege.equals("no"));
        {
            System.out.println("Okay, you can go to The Main Street Pizza Company and Corner Café and The Chef’s Kitchen");
        }
        if (vegan.equals("no") && GF.equals("no") && vege.equals("yes"));
        {
            System.out.println("You can go to The Chef’s Kitchen, Mama’s Fine Italian, Corner Café, Main Street Pizza Company");
        }
        if (vegan.equals("yes") && GF.equals("yes") && vege.equals("no"));
        {
            System.out.println("Okay, you can go to The Chef’s Kitchen and Corner Café");
        }
        if (vegan.equals("yes") && GF.equals("no") && vege.equals("yes"));
        {
            System.out.println("Okay, you can go to The Chef’s Kitchen and Corner Café");
        }

        if (vegan.equals("no") && GF.equals("yes") && vege.equals("yes"));
        {
            System.out.println("Okay, you can go to The Chef’s Kitchen, Corner Café, Main Street Pizza Company");
        }


        System.out.println("Thank you! Have a great time!");
        }


    }

标签: java

解决方案


 if (vegan.equals("no") && GF.equals("no") && vege.equals("no"));
    {
        System.out.println("Okay, you can go anywhere");
    }

例如(这也适用于所有其他情况),删除“;” 在最后。

因为它会将您的 if 子句与以下代码块分开。像这样:

if (vegan.equals("no") && GF.equals("no") && vege.equals("no")){
            System.out.println("Okay, you can go anywhere");
        }

推荐阅读