2016-06-29 15 views
1

2つのクラスオブジェクトAとBがあります。どちらも、prob(probabillity)という属性を含んでいます。 今、私はここで2つのオブジェクトを新しいオブジェクトを返すメソッドで接続するには

A.prob(i)*B.prob(j)=C.prob(i+j). 

」と定義された属性「PROB」で、両方のオブジェクトを接続し、新しいものを作成する方法を、書きたいことは私のコードです:

PMF add(PMF pmf){ 
    for(int i=0; i<x; i++){ 
     for(int j=0; j<x; j++){ 
     C.prob[i+j]=prob[i]*pmf.prob(j); 
     } 
    } 
} 

これはです私のPMFクラス私は私の他のクラスで定義されている(mainメソッドを持つ1、それは「フント」と呼ばれている)いくつかのオブジェクト:。

public class Hund { 

public static void main(String[] args){ 
    PMF A= new PMF(6); 
    PMF B= new PMF(6); 
    PMF C= new PMF(6); 
    A.setProb(1, 1); 
    A.setProb(2, 1); 
    A.setProb(3, 1); 
    A.setProb(4, 1); 
    A.setProb(5, 1); 
    A.setProb(6, 1); 
    System.out.println(A.prob(6)); 

    } 
} 

しかし、今、それはエラー「Cが解決できない私を示してい変数" PMF-Type変数を返すにはどうすればよいですか?私が試したバリエーションは、例えば:

PMF add(PMF pmf){ 
    PMF C= new PMF(x*2); 
    for(int i=0; i<x; i++){ 
     for(int j=0; j<x; j++){ 
     C.prob[i+j]=prob[i]*pmf.prob(j); 
     return C; 
     } 
     } 
    } 
} 

をしている。しかし、それは私はエラー私が間違っているのは何This method must return a result of type of PMF.

示して?メソッド名(型)が与えられているので、void add(PMF pmf)またはsmthに変更することはできません。

+0

最後のブラケットの前にメソッドが返される前に、別の戻り値Cを追加します。ステートメント – puffles

+0

ああ、私はそのばかだとは信じられません。私は正直にそれに気づかずに20の異なることを試みた...ありがとう! – TiaraHorizont

+0

Btw、あなたは私の質問に答えた看板をどうやって置くのですか?私はこれに新しいです。 – TiaraHorizont

答えて

0
PMF add(PMF pmf){ 
    PMF C= new PMF(x*2); 
    for(int i=0; i<x; i++){ 
     for(int j=0; j<x; j++){ 
     C.prob[i+j]=prob[i]*pmf.prob(j); 
     return C; 
     } 
    } 
return C; 
} 
関連する問題