如何使用不同的名称添加字符串

时间:2014-01-23 02:08:57

标签: java string

我已经创建了ticketAgent和ticketType类,我在尝试添加字符串时遇到了困难。我尝试过使用包装器类,但不确定这是否是正确的方法。我已经分别粘贴了我的代码和提示符。谢谢您的帮助。我是第一次发布海报,所以我希望我遵循发布指南。

提示:

编写一个名为TicketBooth的程序,该程序在3个不同的故障单代理处实例化。 TicketBooth程序应该提示用户输入他们希望购买故障单的故障单代理,然后显示可用的故障单类型和价格列表。 TicketBooth程序应允许用户选择要购买的票证。选择故障单类型后,TicketBooth程序应显示:

•该代理商的总销售额 •票务代理销售的票数总数 •所有票务代理商销售的门票总数

TicketBooth程序应该继续提示用户从其中一个故障单代理购买故障单,直到用户键入退出为止。

 package Exercises;
    import java.util.Scanner;

    public class TicketBooth {

        private static Scanner input;

        public static void main(String[] args) {

            input = new Scanner(System.in);

                String ticketAgent = "sam", "nicole" , "alex";
                String ticketType = "one";
                int t = Integer.parseInt(ticketAgent);
                int s = Integer.parseInt(ticketType);
                int sum;

                System.out.println("Please select your ticket agent: ");
                ticketAgent = input.next();

                System.out.println("Please select your ticket type or press -1 to quit: ");
                ticketType = input.next();  

                sum = t +s;
                System.out.println("The total tickets that were sold were: " + sum);



        }
    }






package exercises;

public class TicketAgent {

private static int numOfTicksPerAgent;

    private String agentName;
    private int numSold = 0;
    private double totalSales = 0.0;

    public TicketAgent(String agent) {
        agentName = agent;

        numSold = 0;
        totalSales = 0.0;
        numOfTicksPerAgent += 1;
    }

    public void sellTicket(TicketType tt) {
        numSold++;
        totalSales = totalSales + tt.getticketPrice();
        numOfTicksPerAgent++;
    }

    public double gettotalSales() {
        return totalSales;
    }

    public double getnumSold() {
        return numSold;
    }

    public double getnumOfTicksPerAgent() {
        return numOfTicksPerAgent;

    }
}








package exercises;




public enum TicketType 
{
    CHILD (6.50),
    ADULT (9.50),
    SENIOR (6.50);

private double tikPrice;
TicketType(double price) 
{
    tikPrice = price;
}
public double getticketPrice()
{   
return tikPrice;

    }
}

1 个答案:

答案 0 :(得分:1)

问题是,这似乎是你的功课 没有人想为你做作业。

编辑:我看到你刚刚添加了你的课程。 您所要做的就是添加do while循环 并以正确的方式实例化您的代理。 确切地说,你的问题在哪里?所以我们可以更好地帮助你。

我的第一种方法是,简单来说, 编写TicketAgent 和TicketType

以某种方式编写TicketAgent,可以将其命名为 代理和类型到构造函数

TicketAgent agentSam = new TicketAgent("Sam", new ExpensiveTicket());

添加setter和getter 方法

TicketType需要一个 float 价格,可能是一个 String 描述 或类似的东西。

完成此操作后,请返回主课程。 打开执行while循环并将循环参数设置为布尔值 用户中止的值,在开头是假的 如果用户键入quit命令,则更改。

在循环之前,使用故障单实例化代理。

显示名称和价格。显示门票。一起数。要求中止。

希望这会有所帮助。 对不起我的英语,这不是我的母语。

    additional:



private boolean userWantsToQuit = false;
private List<TicketAgent> avaibleAgents = new ArrayList<TicketAgent>();
private List<TicketAgent> usedAgents= new ArrayList<TicketAgent>();
private List<TickeType> boughtTickets= new ArrayList<TicketType>();

main(...){

   agents.add(new TicketAgent("Sam"));
   agents.add(new TicketAgent("wise"));
   agents.add(new TicketAgent("gamgee"));

   do{

   usedAgents.add(askUserForAgent()); //extra static method
   boughtTickets.add(askUserForType(agent)); //extra static method
   userWantsToQuit = askUserToQuit();//extra static method
   }while(!userWantsToQuit);

   displayAgentSummary(usedAgents);
   displayTicketSummary(boughtTickets);
}

[...]

public static displayAgentSummary(List<TicketAgent> agents)
{
    for(TicketAgent agent : agents)
    {
       System.out.println("Served by: " + agent.getName());
    }
}

public static displayTicketSummary(List<TicketType> tickets)
{
    float totalPrice = 0;
    for(TicketType ticket : tickets)
    {
       totalPrice =+ ticket.getPrice();
       System.out.println("You bought a " + ticket.getName() + " for " + ticket.getPrice()";
    }
    System.out.println("You bought tickets in total for " + totalPrice + " dollar".
}