Java 错误:解析时到达文件末尾

Java Error: Reached end of file while parsing

本文关键字:文件 错误 Java      更新时间:2023-09-26

我不断收到错误:解析时到达文件末尾。我不知道出了什么问题。我假设我必须在某处关闭一个大括号。

import javax.swing.JOptionPane;
public class Ticketpurchasingprogram
{ 
  public static void main (String[] args)
{  
     string customerName = JOptionPane.showInputDialog("Enter your name");
     double ticketBaseCost = 10.60;
     int seatSelection = Integer.parseIn( JOption.showInputDialog("Select your seat number")); //There is an additional charge if the seat selected is between seats 56 - 306
      {
        {if (seatSelection == 0 && seatSelection >= 55)
           { 
           if (seatSelection >=56 && seatSelection >= 106)
              {
              if (seatSelection >= 107 && seatSelection <=206)
                 {
                 if (seatSelection >= 207 && seatSelection <= 306)
                    {
                    double seatSelectionCost = 0.00;
                    }
              double seatSelectionCost = 7.45;
                 }
           double seatSelectionCost = 14.30;
              } 
        double seatSelectionCost = 35.16; 
           }       
        }
      }
     ticketSeatCost = ticketBaseCost + seatSlectionCost;
     deliveryMethod = JOptionPane.showInputDialog("Would you like your ticket emailed or shipped?");
        {if (deliveryMethod = "emailed")
           {
           if (deliveryMethod = "shipped")
              {
              double convenienceFee = ticketSeatCost * 0.03;
              }
           double convenienceFee = ticketSeatCost * 0.01;
           } 
        } 
     totalCost = ticketSeatCost + convenienceFee;
     JOptionPane.showMessageDialog(null, "**Eagle Bank Arena Ticket** 'n Customer Name: " + customerName + "'n Seat Number: " + seatNumber + "'n Delivery Method: " + deliveryMethod + "'n Ticket Base Cost: " + ticketBaseCost + "'n Seat Cost: " + seatSelectionCost + "'n Convenience Fee: " + convenienceFee + String.format("'n Total Cost $%.2f", totalCost));   
}

该代码中有很多错误,很难知道从哪里开始。

if (seatSelection == 0 && seatSelection >= 55)

seatSelection不能同时== 0>= 55

if (seatSelection >=56 && seatSelection >= 106)

如果seatSelection>= 106,那么根据定义它也>= 56,所以这个测试是多余的。

反正没关系,因为前面的if语句不能true,所以它永远不会被执行。

{
    double seatSelectionCost = 0.00;
}

声明一个新变量,对其进行初始化,然后退出定义范围,这意味着该变量不再存在。代码毫无意义。

int seatSelection = Integer.parseIn( JOption.showInputDialog("Select your seat number")); //There is an additional charge if the seat selected is between seats 56 - 306
  {
    {
       ...
    }
  }

这些牙套的目的是什么?他们什么都不做。

对不起,我没有看其余的。 错误已经太多了。

您能否再次验证这些条件?

        if (seatSelection == 0 && seatSelection >= 55)
        { 
            if (seatSelection >=56 && seatSelection >= 106)
            {
                if (seatSelection >= 107 && seatSelection <=206)
                {
                    if (seatSelection >= 207 && seatSelection <= 306)
                    {
                        double seatSelectionCost = 0.00;
                    }
                    double seatSelectionCost = 7.45;
                }
                double seatSelectionCost = 14.30;
            } 
            double seatSelectionCost = 35.16; 
        }

这些代码永远不会执行。也许这就是你的意思?

        if (seatSelection <= 55)
        { 
            seatSelectionCost = 35.16; 
        }
        else if (seatSelection <= 106)
        {
            seatSelectionCost = 14.30;
        } 
        else if (seatSelection <=206)
        {
            seatSelectionCost = 7.45;
        }
        else if (seatSelection <= 306)
        {
            seatSelectionCost = 0.00;
        }

末尾的大括号"}"丢失。这是您需要的代码

import javax.swing.JOptionPane;
public class Ticketpurchasingprogram {
 public static void main (String[] args)
{  
 string customerName = JOptionPane.showInputDialog("Enter your name");
 double ticketBaseCost = 10.60;
 int seatSelection = Integer.parseIn( JOption.showInputDialog("Select your seat number")); //There is an additional charge if the seat selected is between seats 56 - 306
  {
    {if (seatSelection == 0 && seatSelection >= 55)
       { 
       if (seatSelection >=56 && seatSelection >= 106)
          {
          if (seatSelection >= 107 && seatSelection <=206)
             {
             if (seatSelection >= 207 && seatSelection <= 306)
                {
                double seatSelectionCost = 0.00;
                }
          double seatSelectionCost = 7.45;
             }
       double seatSelectionCost = 14.30;
          } 
    double seatSelectionCost = 35.16; 
       }       
    }
  }
 ticketSeatCost = ticketBaseCost + seatSlectionCost;
 deliveryMethod = JOptionPane.showInputDialog("Would you like your ticket emailed or shipped?");
    {if (deliveryMethod = "emailed")
       {
       if (deliveryMethod = "shipped")
          {
          double convenienceFee = ticketSeatCost * 0.03;
          }
       double convenienceFee = ticketSeatCost * 0.01;
       } 
    } 
 totalCost = ticketSeatCost + convenienceFee;
 JOptionPane.showMessageDialog(null, "**Eagle Bank Arena Ticket** 'n Customer Name: " + customerName + "'n Seat Number: " + seatNumber + "'n Delivery Method: " + deliveryMethod + "'n Ticket Base Cost: " + ticketBaseCost + "'n Seat Cost: " + seatSelectionCost + "'n Convenience Fee: " + convenienceFee + String.format("'n Total Cost $%.2f", totalCost));   
}
}