2017-01-02 6 views
0

私のクラスプロジェクトの特定の問題について助けが必要です。プロジェクトの目標は、あなたが所有している株式の数を登録できるプログラムを作成することです。必要な情報は、会社名、所有するシェアの数、それぞれの価値です。私は情報が転送されるGUIクラスとクラスを作成しました。入力はプライベートvoidから来ます。私はプライベートvoidからの入力をそのクラスのクラスのarraylistに転送する方法を見つけるのが難しいです。プライベートvoid GUIからJavaクラスのArrayListに入力データを転送するには?

ここでは、GUIクラスのarraylistを初期化した方法を示します。

public class GUISharePortfolio_1 extends javax.swing.JFrame { 

ArrayList<SharePackage.Share> Package = new ArrayList<SharePackage.Share>(); 

次は、会社名、共有数、およびその価値をGUIから取得する方法です。それは私的な無効なので、私はSharePackageクラスにその情報を転送する必要があります。

private void CreatePortfolioButtonActionPerformed(java.awt.event.ActionEvent evt) { 

    String name; 
    double number; 
    double value; 

    name = CompanyNameField.getText(); 
    number = Double.parseDouble(NumberOfSharesField.getText()); 
    value = Double.parseDouble(ValueOfShareField.getText()); 

    Package.CompanyName(name); 
    Package.NumberOfShares(number); 
    Package.ValueOfShare(value); 

} 

私は会社名、NumberOfSharesとValueOfShare下の「シンボルを見つけることができません」というエラーを取得しています。

情報が転送されなければならないためのpublicクラスはこれです:私は非常に任意の助けをいただければ幸いです

package shareportfolio; 

import java.util.ArrayList; 

public class SharePackage 
{ 
    private ArrayList<Share> Package = new ArrayList<Share>(); 

public class Share 
{ 
    private String companyname; 
    private double numberofshares; 
    private double valueofshare; 

    Share(String companyname, double numberofshares, double valueofshare) 
    { 
     this.companyname = companyname; 
     this.numberofshares = numberofshares; 
     this.valueofshare = valueofshare; 
    } 

    public void setCompanyName(String name) 
    { 
     companyname = name; 
    } 

    public String getCompanyName() 
    { 
     return(companyname); 
    } 

    public void setNumberOfShares(double number) 
    { 
     numberofshares = number; 
    } 

    public double getNumberOfShares() 
    { 
     return(numberofshares); 
    } 

    public void setValueOfShare(double value) 
    { 
     valueofshare = value; 
    } 

    public double getValueOfShare() 
    { 
     return(valueofshare); 
    } 

} 

}

+0

受信している正確なエラー(スタックトレース)を教えてください。 – MichaelMilom

答えて

2

Packageというフィールドがあります。そのフィールドのタイプはArrayListです。 ArrayListにはCompanyNameというメソッドはありません。あなたがに追加しようとしているどちらそうかわからない、「パッケージ」という名前の2つのこのようなフィールドを持っている

Package.add(new SharePackage.Share(companyname, numberofshares, valueofshares)); 

:あなたはおそらく、やろうとしているのはのようなものです。たぶんあなたはフィールドが何とか同じものであるという印象を受けているでしょう。ではない。

BTW:これを誰にでも送信する前に、Javaコーディングスタイルを学んでください。 UpperCamelCaseでフィールドの名前を付けているため、Javaプログラマーがコードを読みにくくなります。

0

user1207705これが答えでした。私はそれを次のように変更しました:

String name; 
    double number; 
    double value; 

    name = CompanyNameField.getText(); 
    number = Double.parseDouble(NumberOfSharesField.getText()); 
    value = Double.parseDouble(ValueOfShareField.getText()); 

    Package.add(new SharePackage.Share(name, number, value)); 

ありがとう、私はJavaコーディングスタイルで作業します。

関連する問題