-1

以下に示すように、クラス呼び出し ClientIdBandwidth.java を取得しました

public class ClientIdBandwidth
{
private int clientID;
private int bandwidth;

public ClientIdBandwidth(int clientID , int bandwidth)
{
    this.clientID = clientID;
    this.bandwidth = bandwidth;
}

public int getClientID()
{
    return clientID;
}

public int getBandwidth()
{
    return bandwidth;
}
}

ClientIdBandwidth コンストラクターを呼び出して、データをコンストラクターに入れたいですか? 以下は私がこれまでに行ったコードです:

public class connectNode
{
private List[] connection;
private int totalClients;
totalClients = clientList.size(); //get the size from another class 
connection = new Vector[totalClients]; //  

for(int i = 0; i<totalClients; i++) 
    {
        connection[i] = new Vector(); 
    } 
for(int i = 0; i<totalClients; i++)
    {       
        int ID = (int)clientList.get(i);
        ClientIdBandwidth cib = new ClientIdBandwidth(ID,'0');
            }

その後、私は続行する方法がわかりません。誰でも教えてもらえますか?前もって感謝します

アップデート

申し訳ありませんが、私はそれを明確にしませんでした。

私は今、p2pシミュレーターをやっています。私はテキストファイルを持っています:

0;2;100; // ノード 0 は 100kbps でノード 2 に接続します

1;5;200; // ノード 1 は 200kbps でノード 5 に接続します

txtファイルを読み取るクラスがあります。リスト内にノードの総数 (上記の例ではノード 0、2、1、5 の 4) を入れています。ノード0がベクトルへの帯域幅でノード2に接続されているように設定したいと思います。

4

1 に答える 1

1

ほとんどの場合、コードは予期しない方法で動作します。コンストラクターは 2 つの整数パラメーターを想定していますが、1 つの整数と 1 つの 'char' 型を渡しています。それが、スタックしている/コードが機能していない/結果が正しくないなどの理由である可能性があります(正確な問題については言っていません)。

または、ClientBandwithオブジェクトが for ループ内で作成されています。その for ループ内ですべて作成および破棄されます。最後に、for ループが実行されると、インスタンスはなくなります。したがって、 for ループの後、ClientBandwithクラスは既存のオブジェクトなしでそのまま残るため、ゲッターを使用して何も取得できません。この場合、何が起こったのかさえ気付かないでしょう。インスタンスが破壊されているため、「データをコンストラクターに入れる」ことができないと不平を言っていますか?

それとは別に、

  1. 「ベクター」は遅く、時代遅れです。を使用しArrayListます。

  2. ベクターの正確なサイズがわかっている場合は、配列を使用することをお勧めします

  3. ベクター内にベクターを作成しています。それは本当にここで役に立ちますか?

  4. ジェネリックを使用する

  5. 2 つの for ループを使用しています。しかし、ご覧のとおり、作業は 1 つの for ループで実行できます。

  6. Java 命名基準に従います。あなたの2番目のクラスは簡単な手紙から始まります

  7. ベクター内のすべてのデータをコンストラクターにロードする場合、システムは機能しません。List型を引数として受け入れる

  8. 質問するときは、本当にやりたいことを教えてください

于 2012-12-11T17:58:48.427 に答える