java - 我试图弄清楚为什么我的程序无论如何都使用所有语句(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!");
}
}
解决方案
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");
}
推荐阅读
- java - 为什么使用事件溯源模式中的事件流?
- jquery - 从 Datatable Jquery 中的超链接传递参数
- nlp - 执行命名实体识别时是否包括标题?
- jquery - 如何在服务器上保存修改
- drop-down-menu - 如何在 Flutter 中创建自定义下拉列表?
- c++ - CMake 和 CUDA 的权限错误
- java - 如何使用无参数构造函数持有数组对象而没有空指针异常
- php - PHP/SQL 奇怪的输出
- azure-active-directory - 使用 EmbedApiSample 生成带有 ClientID 和登录凭据的嵌入令牌时出现问题
- javascript - 使用一个脚本发布多个模式