Java 程序将不会转到else语句

Java 程序将不会转到else语句,java,if-statement,Java,If Statement,如果您输入的座位太多,该程序将打印错误。如果我输入的座位数无效,例如:经济舱有8个座位。但是如果我输入一个大于它的数字,程序不会继续执行else语句并打印错误消息 相反,它只是遍历if语句并使用无效的座位号进行计算 import java.util.Scanner; public class FlightProfit { String location; int TOLEDO_FARE = 200; int HOUSTON_FARE = 300

如果您输入的座位太多,该程序将打印错误。如果我输入的座位数无效,例如:经济舱有8个座位。但是如果我输入一个大于它的数字,程序不会继续执行else语句并打印错误消息

相反,它只是遍历if语句并使用无效的座位号进行计算

import java.util.Scanner;

public class FlightProfit
{
        String location;

        int TOLEDO_FARE = 200;
        int HOUSTON_FARE = 300;
        int BOISE_FARE = 400;

        int economySeats;
        int businessSeats;
        int firstClassSeats;

        int economySales;
        int businessSales;
        int firstClassSales;
        //int totalSales = economySales + businessSales + firstClassSales;

        Scanner in = new Scanner(System.in);

        public int addEconomySeats()
        {
            System.out.print("Enter number of economy seats 1-8: ");
            economySeats = in.nextInt();

            if(economySeats > 0 || economySeats < 9)
            {
                return economySeats;
            }
            else
            {
                System.out.println("Error: Only 8 seats available in economy.");
            }
            return 0;
        }

        public int addBusinessSeats()
        {
            System.out.print("Enter number of business seats sold: ");
            businessSeats = in.nextInt();

            if(businessSeats > 0 || economySeats < 7)
            {
                return businessSeats;
            }
            else
            {
                System.out.println("Error: Only 6 seats available in business.");
            }
            return 0;
        }

        public int addFirstClassSeats()
        {
            System.out.print("Enter number of first class seats sold: ");
            firstClassSeats = in.nextInt();

            if(firstClassSeats > 0 || firstClassSeats < 5)
            {
                return firstClassSeats;
            }
            else
            {
                System.out.println("Error: Only 4 seats available in first class.");
            }

            return 0;
        }



       public void getProfit(String loc)
       {
           location = loc;

           if(location.equalsIgnoreCase("toledo"))
           {
               economySales = economySeats * TOLEDO_FARE;
               businessSales = businessSeats * (2 * TOLEDO_FARE);
               firstClassSales = firstClassSeats * (4 * TOLEDO_FARE);
               System.out.println("Economy Sales: " + economySeats + " seats: " + economySales);
               System.out.println("Business Sales: " + businessSeats + " seats: " + businessSales);
               System.out.println("First Class Sales: " + firstClassSeats + " seats: " + firstClassSales);
               //System.out.println("Total Sales: " + totalSales);
           }
           else if(location.equalsIgnoreCase("houston"))
           {
               economySales = economySeats * HOUSTON_FARE;
               businessSales = businessSeats * (2 * HOUSTON_FARE);
               firstClassSales = firstClassSeats * (4 * HOUSTON_FARE);
               System.out.println("Economy Sales: " + economySeats + " seats: " + economySales);
               System.out.println("Business Sales: " + businessSeats + " seats: " + businessSales);
               System.out.println("First Class Sales: " + firstClassSeats + " seats: " + firstClassSales);
              // System.out.println("Total Sales: " + totalSales);
           }
           else
           {
               economySales = economySeats * BOISE_FARE;
               businessSales = businessSeats * (2 * BOISE_FARE);
               firstClassSales = firstClassSeats * (4 * BOISE_FARE);
               System.out.println("Economy Sales: " + economySeats + " seats: " + economySales);
               System.out.println("Business Sales: " + businessSeats + " seats: " + businessSales);
               System.out.println("First Class Sales: " + firstClassSeats + " seats: " + firstClassSales);
               //System.out.println("Total Sales: " + totalSales);
           }
       }
}
import java.util.Scanner;
公营航班利润
{
字符串位置;
国际托莱多票价=200;
国际休斯敦票价=300;
国际博伊西票价=400;
国际经济测试;
国际商务座位;
国际头等舱座位;
国际经济学杂志;
国际商业销售;
国际一流销售;
//int totalSales=economySales+businessSales+firstClassSales;
扫描仪输入=新扫描仪(系统输入);
公共整数addeconomicyseats()
{
系统输出打印(“输入经济舱座位数1-8:”);
EconomySets=in.nextInt();
如果(经济测试>0 | |经济测试<9)
{
返回经济测试;
}
其他的
{
System.out.println(“错误:经济舱只有8个座位可用。”);
}
返回0;
}
公共int addBusinessSeats()
{
System.out.print(“输入售出的商务座位数量:”);
businessSeats=in.nextInt();
如果(商务座位>0 | |经济舱<7)
{
返回商务座位;
}
其他的
{
System.out.println(“错误:只有6个席位可供商务使用。”);
}
返回0;
}
public int addFirstClassSeats()
{
System.out.print(“输入售出的头等舱座位数:”);
firstClassSeats=in.nextInt();
如果(头等舱座位>0 | |头等舱座位<5)
{
返回头等舱座位;
}
其他的
{
System.out.println(“错误:头等舱只有4个座位。”);
}
返回0;
}
公共无效获取利润(字符串loc)
{
位置=loc;
if(位置等信号情况(“托莱多”))
{
经济舱=经济舱*托莱多票价;
商务销售=商务座椅*(2*托莱多票价);
头等舱销售=头等舱座位*(4*托莱多票价);
System.out.println(“经济舱销售:+economySeats+”座位:+economySales);
System.out.println(“业务销售:+businessSeats+”席位:+businessSales);
System.out.println(“头等舱销售:+firstClassSeats+”座位:+firstClassSales);
//System.out.println(“总销售额:+totalSales”);
}
else if(位置、同等信号(“休斯顿”))
{
经济舱=经济舱*休斯顿票价;
商务销售=商务座椅*(2*休斯顿票价);
头等舱销售=头等舱座位*(4*休斯顿票价);
System.out.println(“经济舱销售:+economySeats+”座位:+economySales);
System.out.println(“业务销售:+businessSeats+”席位:+businessSales);
System.out.println(“头等舱销售:+firstClassSeats+”座位:+firstClassSales);
//System.out.println(“总销售额:+totalSales”);
}
其他的
{
经济舱=经济舱*BOISE_票价;
businessSales=businessSeats*(2*BOISE_票价);
头等舱销售=头等舱座位*(4*BOISE_票价);
System.out.println(“经济舱销售:+economySeats+”座位:+economySales);
System.out.println(“业务销售:+businessSeats+”席位:+businessSales);
System.out.println(“头等舱销售:+firstClassSeats+”座位:+firstClassSales);
//System.out.println(“总销售额:+totalSales”);
}
}
}
==主要==

import java.util.Scanner;

public class Aviation 
{

    public Aviation()
    {

    }

    public static void main(String[] args) 
    {
       int option;

       FlightCost newFlight = new FlightCost();
       FlightProfit flight = new FlightProfit();

       Scanner in = new Scanner(System.in);
       System.out.print("Enter new flight location: ");
       String location = in.next();

       do{
       String menu = "\n Please select an option to perform"
                   + "\n1 (1) Get flight costs."
                   + "\n2 (2) Get flight profits."
                   + "\n3 (3) Enter names/meals."
                   + "\n4 (4) Exit.";

       System.out.println(menu);
       option = in.nextInt();

       }while (option < 0 || option > 4);

       switch(option)
       {
           case 1:
              newFlight.getCost(location);
              break;
           case 2:
              flight.addEconomySeats();
              flight.addBusinessSeats();
              flight.addFirstClassSeats();
              flight.getProfit(location);
              break;
           case 3:
               //newFlight.flyers();
               break;
           case 4:
               System.out.println("Exit");
               break;
           default:
               System.out.println("Error: must select menu option.");
       }      
    }   
}
import java.util.Scanner;
公营航空
{
公共航空()
{
}
公共静态void main(字符串[]args)
{
int选项;
FlightCost newFlight=新的FlightCost();
FlightProfit飞行=新的FlightProfit();
扫描仪输入=新扫描仪(系统输入);
系统输出打印(“输入新航班位置:”);
字符串位置=in.next();
做{
字符串菜单=“\n请选择要执行的选项”
+“\n1(1)获取飞行成本。”
+“\n2(2)获取航班利润。”
+“\n3(3)输入姓名/膳食。”
+“\n4(4)退出。”;
系统输出打印项次(菜单);
option=in.nextInt();
}而(选项<0 | |选项>4);
开关(选件)
{
案例1:
newFlight.getCost(位置);
打破
案例2:
flight.addEconomySeats();
航班号:addBusinessSeats();
flight.addFirstClassSeats();
航班。获取利润(地点);
打破
案例3:
//newFlight.flyers();
打破
案例4:
System.out.println(“退出”);
打破
违约:
System.out.println(“错误:必须选择菜单选项”);
}      
}   
}
如果(经济测试>0 | |经济测试<9)

这个条件总是正确的(因为任何数字要么是正的,要么小于9),所以当然不能到达else子句

您可能需要
&&
(and)运算符:

if(EconomySets>0和&EconomySets<9)

而您的其他条件也有相同的错误。

if(economysets>0&&economySe
if (economySeats > 0 && economySeats < 9)
Range economySeatsRange = Range.atLeast(1).atMost(8);
//...
boolean inAllowedRange = economySeatsRange.apply(economySeats);
if(inAllowedRange)
    // between 1 and 8
else
    // signal error