2017-08-17 6 views
1

は、私は私がこれを埋めるためにしたいので、semester = 4を置く対象programingsemester =1の対象値を挿入し、今私が主題の数学上の例えば被験者マトリックスはすべての組み合わせを挿入しませんか?ここ

 mat  pro  
mat  null null  
pro  null null  

間コンディショナリティーを作りたい....被験者の私の行列であります「yes」との行列は、ない場合には第一の主題のsemesterは、第2の主題に学期よりも大きく、かつ「no」場合にのみ...今私が持っている問題は、私は組み合わせのためのコンディショナリティを入力することができるということです。

math - math , which would be "no" 
math - programing , which would be "no" 
programing - programing , which would be "no" 

とプログラムが実行されたときに、これは次のようになります。

 mat  pro  
mat  no  no 
pro  no  no 

をしかし、私はこの組み合わせを持っていけないがコンディショナリティを置くように頼ま: プログラミング - 数学、「はい」 だろうし、それはおそらく次のようになります。

 mat  pro  
mat  no  no 
pro  yes  no 

どうすればいいですか?何か案が?ここ

は私のコードです:

public void makeGraph() { 

    matrix = new String[subjects.size()][subjects.size()]; 

    for (int i = 0; i < matrix.length; i++) { 
     for (int j = i; j < matrix.length; j++) { 

      System.out.println("Enter conditionality between subjects: " + subjects.get(i).getName() + ", and " 
        + subjects.get(j).getName()); 

      boolean conditioned = s.nextBoolean(); 

      if (conditioned == true) { 
       if (subjects.get(i).getSemester() > subjects.get(j).getSemester()) { 
        matrix[i][j] = "yes"; 
        matrix[j][i] = "yes"; 
       } else {  
         matrix[i][j] = "no"; 
         matrix[j][i] = "no";  
       } 
      } else { 
       matrix[i][j] = "no"; 
       matrix[j][i] = "no"; 
      } 
     } 
    } 
} 

編集:ここで私はそれを解決してきましたペーストビンへのリンクがあります。 Solution

+0

あなたのポストが書かれたので、悪かった、努力をしてください..私は、私はそれを知っていた申し訳ありませんが、私は得ることができなかった – azro

+0

@azroそれを正しく書こうとすると、それは私にとってはうまくいかなかった。 –

+0

私の解決策が助けられたら、私の答えの横にある灰色のチェックマークをクリックしてそれを受け入れて、緑にしてもらえますか?また、私の答えの隣の矢印をクリックすると非常に感謝されるでしょう:) – Assafs

答えて

1

問題は、行列を割り当てる方法にあります。 Programming vs Mathがスケール上にあり、比較することを選択した場合、[i] [j]と同じ値を[j] [i]と同じように割り当てます。それは間違っている。 1つはnoに設定し、もう1つをyesに設定する必要があります。これは、MathにはProgrammingよりも学期があるかどうかを尋ね、もう一つはProgrammingにMathよりも学期があるかどうか尋ねるからです。あなたがより大きい、より大きい等しくないことを探しているので、これらの質問の1つが「はい」であることは、もう1つが「いいえ」であることを意味します。

+0

「EDIT」をチェックアウトしました –

1

私はあなたがコードをチェックアウトすることができ、それを解決した:

public void makeGraph() { 

    matrix = new String[subjects.size()][subjects.size()]; 

    for (int i = 0; i < matrix.length; i++) { 
     for (int j = i; j < matrix.length; j++) { 

      boolean conditioned; 

      if(subjects.get(i).getName().equalsIgnoreCase(subjects.get(j).getName())){ 
       conditioned=false; 
      }else{ 
       System.out.println("Enter conditionality between subjects: " + subjects.get(i).getName() + ", and " 
         + subjects.get(j).getName()); 
       conditioned = s.nextBoolean(); 
      } 

      if (conditioned == true) { 

       if (subjects.get(i).getSemester() > subjects.get(j).getSemester()) { 
        matrix[i][j] = "yes"; 
        matrix[j][i] = "no"; 
       }else if(subjects.get(i).getSemester()<subjects.get(j).getSemester()){ 

        System.out.println("Enter conditionality between subjects: " + subjects.get(j).getName() + ", and " 
          + subjects.get(i).getName()); 
        conditioned = s.nextBoolean(); 
        matrix[i][j] = "no"; 
        matrix[j][i] = "yes"; 
       }else{ 
        matrix[i][j] = "no"; 
        matrix[j][i] = "no";  
       } 
      } else { 
       matrix[i][j] = "no"; 
      } 
     } 
    } 
} 
関連する問題