Java netbeans中的售票机

Java netbeans中的售票机,java,object,Java,Object,我需要一些帮助来让这个售票机代码正常工作。我可以使用if、elseif和else来完成它,我已经看到它是通过while循环完成的。但是,每当我尝试将其作为对象运行时,我要么因为代码底部的打印票证而得到并出错,要么构建成功而没有票证。这是我的密码 package ticketmachine; import javax.swing.JOptionPane; public class TicketMachine { private int price; private int c

我需要一些帮助来让这个售票机代码正常工作。我可以使用if、elseif和else来完成它,我已经看到它是通过while循环完成的。但是,每当我尝试将其作为对象运行时,我要么因为代码底部的打印票证而得到并出错,要么构建成功而没有票证。这是我的密码

package ticketmachine;

import javax.swing.JOptionPane;


public class TicketMachine {
    private int price;
    private int change;
    private int balance;

public int getPrice(){
    return price;
}

public int getBalance(){
    return balance;
}

public TicketMachine (int ticketCost) {
    price = ticketCost;
    change = 0;
    balance = 0;
}

public void insertMoney (int amount){
    balance = balance + amount;
}    

public static void main(String[] args){ 

    String input1= JOptionPane.showInputDialog(null, " Insert a coin ");
    int ticketCost=Integer.parseInt(input1);


public void printTicket(){

    //Simulate the printing of a ticket
    System.out.println("##################");
    System.out.println("# Ticket");
    System.out.println("# " + price + " pence.");
    System.out.println("##################");
    System.out.println();
}
}        
}        

最后两种方法的右大括号错误。尝试:

    public static void main(String[] args){ 

        String input1= JOptionPane.showInputDialog(null, " Insert a coin ");
        int ticketCost=Integer.parseInt(input1);

    } //Here 
    public void printTicket(){

        //Simulate the printing of a ticket
        System.out.println("##################");
        System.out.println("# Ticket");
        System.out.println("# " + price + " pence.");
        System.out.println("##################");
        System.out.println();
    }

  } //Closing of the class.
现在打印出来了

import javax.swing.JOptionPane;
import java.sql.PreparedStatement;


public class TicketMachine {
    private int price;
    private int change;
    private int balance;

    public int getPrice(){
        return price;
    }

    public int getBalance(){
        return balance;
    }

    public TicketMachine (int ticketCost) {
        price = ticketCost;
        change = 0;
        balance = 0;
    }

    public void insertMoney (int amount){
        balance = balance + amount;
    }

    public static void main(String[] args) {

        String input1 = JOptionPane.showInputDialog(null, " Insert a coin ");
        int ticketCost = Integer.parseInt(input1);
        TicketMachine ticketMachine = new TicketMachine(ticketCost);
        ticketMachine.printTicket();
    }


    public void printTicket(){

        //Simulate the printing of a ticket
        System.out.println("##################");
        System.out.println("# Ticket");
        System.out.println("# " + this.price + " pence.");
        System.out.println("##################");
        System.out.println();
    }
}

您应该真正尝试学习OOP是如何工作的。人们说他们不理解您需要什么,因为您甚至没有调用打印灌木丛的方法

这不是有效的Java代码我很困惑,到底发生了什么和你期望发生什么?不确定是否有错误,但您的主方法缺少一个右大括号,并且在结尾处有一个额外的左大括号class@MaxPower. 谢谢,我已经添加了花括号,如下所示,但我现在得到的只是构建成功,而不是打印出带有值的票据。我不确定我哪里出了错……谢谢你,这使构建成功了。我仍然可以在对话框中插入硬币,但是之后什么也没有发生。我想用它来打印罚单,但我不知道怎么做。这就是为什么我要问,我目前正在做一个为期4天的面向对象介绍课程,以获得a学位课程,这是我们被告知要做的事情。当我和导师交谈时,他说只要他能看到我们已经尝试编写类代码,并且您已经尝试调用方法,那么它就不会起作用。然而,正如前面所讨论的,我想知道这是如何使用OOP工作的,而不仅仅是else、if和while循环。如果看起来我不是在努力学习,但事实恰恰相反,我道歉。谢谢你看我的帖子并回复,我非常感谢。