Java:给出参数时选择对象

时间:2011-12-04 20:21:26

标签: java class object bluej

我是Java程序员的开始

现在我有这个问题: 我有一个名为Producttype的类,其中包含一个名为name的字段。 我还有一个名为Main的班级。现在在班级Main中,我想通过询问名称来从班级Producttype中选择一个对象。

我该怎么做?

提前致谢

产品类型代码:

import java.util.*;
import javax.swing.*;

public class Producttype
{
    //velden
    private String naam;
    private String beschrijving;
    private double aankoopprijs;
    private double verkoopprijs;
    private int aantalGekocht;
    private int aantalVerkocht;

    //constructor
    /**
     * Constructor
     */
    public Producttype(String naam, String beschrijving, double aankoopprijs, double verkoopprijs){
        this.naam = naam;
        this.beschrijving = beschrijving;
        this.aankoopprijs = aankoopprijs;
        this.verkoopprijs = verkoopprijs;
        aantalGekocht = 0;
        aantalVerkocht = 0;
    }
   public void drukInfo(){
        System.out.println("-----------------------");
        System.out.println("Naam van het product: " + naam);
        System.out.println("Beschrijving van het product: " + beschrijving);
        System.out.println("Aankoopprijs: " + aankoopprijs + " euro");
        System.out.println("Verkoopprijs: " + verkoopprijs + " euro");
        System.out.println("Aantal gekocht: " + aantalGekocht + " stuks");
        System.out.println("Aantal verkocht: " + aantalVerkocht + " stuks");
        System.out.println("");
        System.out.println("Aantal stuks in stock: " + berekenAantalInStock());
        System.out.println("");
        System.out.println("Omzet momenteel: " + berekenOmzet() + " euro");
        System.out.println("Winst momenteel: " + berekenWinst() + " euro");
    }

在我的'主'中我得到了这个:

private void printInfoOverProducttype()
    {
        String type = JOptionPane.showInputDialog("Give the name of the producctype you want info of.");

        String info = ??????????????????????????

        System.out.println(info);
    }

我想要的是printInforOverProducctype()方法中的“String info”是从名为equals string type的对象的'Producctype'类执行方法drukInfo()

1 个答案:

答案 0 :(得分:2)

您的Main课程需要能够访问Map ProductType,其中密钥为String

public class Main {
    private Map<String, ProductType> products = new ConcurrentHashMap<String, ProductType>();

    public ProductType findProductTypeByName(String name) {
        return this.products.get(name);
    }
}