0

"expected" というエラーが表示されます。これは、コードのこのセクションにあります ( * **** )。

なぜ私はこれを得るのですか?私は初心者で、この問題で立ち往生しています。これを解決する方法を知りたいです。*がある場所で識別子の予期されるエラーが発生するのはなぜですか。これはどういう意味ですか?どうすれば解決できますか? ありがとう

/**
* TicketMachine models a ticket machine that issues
* flat-fare tickets.
* The price of a ticket is specified via the constructor.
* Instances will check to ensure that a user only enters
* sensible amounts of money, and will only print a ticket
* if enough money has been input.
*/
public class TicketMachine
{
// The price of a ticket from this machine.
private int price;
// The amount of money entered by a customer so far.
private int balance;
// The total amount of money collected by this machine.
private int total;

/**
* Create a machine that issues tickets of the given price.
*/
public TicketMachine(int cost)
{
if (cost > 0) 
{
price = cost;
balance = 0;
total = 0;
}
else
{ 
System.out.println("can not be minus");
}
}

/**
* @Return The price of a ticket.
*/
public int getPrice()
{
return price;
}

/**
* Return The amount of money already inserted for the
* next ticket.
*/
public int getBalance()
{
return balance;
}

/**
* Receive an amount of money from a customer.
* Check that the amount is sensible.
*/
public void insertMoney(int amount)
{
if(amount > 0) {
balance = balance + amount;
}
else {
System.out.println("Use a positive amount rather than: " +
amount);
}
}

/**
* Print a ticket if enough money has been inserted, and
* reduce the current balance by the ticket price. Print
* an error message if more money is required.
*/
public void printTicket()
{
if(balance >= price) {
// Simulate the printing of a ticket.
System.out.println("##################")…
System.out.println("# The BlueJ Line");
System.out.println("# Ticket");
System.out.println("# " + price + " cents.");
System.out.println("##################")…
System.out.println();

// Update the total collected with the price.
total = total + price;
// Reduce the balance by the prince.
balance = balance - price;
}
else {
System.out.println("You must insert at least: " +
(price - balance) + " more cents.");

}
}

/**
* Exercise printtickettwo
*/
public void printTicketTwo();
int amountLeftToPay;
amountLeftToPay (***********) = price - balance;

if (amountLeftToPay > 0) 
{
// Simulate the printing of a ticket.
System.out.println("##################")…
System.out.println("# The BlueJ Line");
System.out.println("# Ticket ");
System.out.println("# " + price + " cents.");
System.out.println("##################")…
System.out.println();
}
else
{
System.out.println.("Amount Still Required);
} 
}

/**
* Return the money in the balance.
* The balance is cleared.
*/
public int refundBalance()
{
int amountToRefund;
amountToRefund=balance;
balance = 0;
return amountToRefund;
}

/**
* Exercise empty machine money
*/ 
public int emptyMachine()
{
int emptyMachine;
emptyMachine = total;
total = 0;
return total;
}

}
4

2 に答える 2

1

この行public void printTicketTwo();

代わりに

public void printTicketTwo() { *method body* }

編集 - 一般的にデバッグのアドバイス。このようなエラーが発生した場合、通常、エラーがある場合は行番号が表示されます。エラーが発生した場合は、最小の行番号を見つけてそこのコードを調べます。多くの場合、構文エラーは上記の行にあります。たとえばint myInt = 5int mySecondInt = 7;次の行では、前の行でセミコロンを省略したために発生した場合でも、エラーは 2 行目を参照する可能性があります。

于 2012-10-31T23:34:25.380 に答える
0

あなたが犯した各エラーの横にコメントがクラスに追加されました。今は正常に動作しています。

        public void printTicket()
    {
    if(balance >= price) {
    // Simulate the printing of a ticket.
    System.out.println("##################");  // you for got ;
    System.out.println("# The BlueJ Line");
    System.out.println("# Ticket");
    System.out.println("# " + price + " cents.");
    System.out.println("##################");    // you for got ;
    System.out.println();

    // Update the total collected with the price.
    total = total + price;
    // Reduce the balance by the prince.
    balance = balance - price;
    }
    else {
    System.out.println("You must insert at least: " +
    (price - balance) + " more cents.");

    }
    }




public void printTicketTwo() // ; means an extarnl call of another existing method in the class 
{
int amountLeftToPay;
amountLeftToPay = price - balance;   // any method must have { method body  } 

if (amountLeftToPay > 0) 
{
// Simulate the printing of a ticket.
System.out.println("##################");
System.out.println("# The BlueJ Line");
System.out.println("# Ticket ");
System.out.println("# " + price + " cents.");
System.out.println("##################");
System.out.println();
}
else
{
System.out.println("Amount Still Required");   // you have added an extra . which is not needed and you for got the " and the end of Required
} 
}
于 2013-03-06T20:05:25.350 に答える