2017-01-17 4 views
1

Im new a coma :) 그러나 내 프로그램에는 테이블이 있으며 RandomGengetRowCount ->checkvar1으로 가장 높은 임의의 int를 가져야합니다.지정되지 않은 방법으로 변수 교환

이제 메인 클래스는 내가 최대 생성 된 정수를 제한하는 randomGencheckvar1를 교환 할, checkvar1을 얻고 setVariable()로 보냅니다.

randomGen()의 매개 변수가 설정되어 있지 않으므로 매개 변수가 설정되어 있지 않으므로 물론 작동하지 않습니다. 기본 클래스의 onActionPerformed() 메서드로의 교환이 더 이상 작동하지 않기 때문에 매개 변수를 설정할 수 없습니다.

public final class RandomGen 
{ 
    // EXCHANGE OF CHECKVAR1 FOR RANDOM GEN 
    public static void setVariable(int checkvar1) 
    { 
     System.out.print(checkvar1); 
    } 

    // RANDOM GENERATOR 
    public static int randomGen() 
    { 
     Random rand = new Random(); 
     int var1 = rand.nextInt(checkvar1) + 1; 
     return var1; 
    } 
} 

여기 내 메인 클래스 :

public void onActionPerformed(java.awt.event.ActionEvent evt) {            


     //NUMBER OF LAST ROW 
     int checkvar1 = (Integer)jTable1.getRowCount(); 

     //->EXCHANGE WITH setVariable() 

     RandomGen.setVariable(checkvar1); 

     if (checkvar1 >= 3) { 
      int recogvar1 = checkvar1 - 1;    
      Object checkobj1 = jTable1.getModel().getValueAt(recogvar1, 0); 

      if (checkobj1 == null){ 
       //... 
      }    
      else { 

      int var1 = RandomGen.variable(); 

      String result = var1 + ""; 
      jTextField1.setText(result); 
      //System.out.print(result); 
      } 

     } 
     else { 
      String rule2 = "At least " + 3 + " rows should be filled"; 
      jTextField1.setText(rule2);    
     } 
+0

메인을 표시 할 수 있습니까? – Gatusko

+0

그래서 ** checkvar1 ** -> ** setVariable (cheackvar1) ** -> ** randomGen() **을 사용하여 checkvar1의 새 Valor를 얻으시겠습니까? – Gatusko

답변

0

당신은 클래스 RandomGen에은 SetVariable와 아무것도하지 않고있다. 그래서 당신은 이것을 바꿀 필요가 있습니다.

// RANDOM GENERATOR 
public static int randomGen(int checkvar1) 
{ 
    Random rand = new Random(); 
    int var1 = rand.nextInt(checkvar1) + 1; 
    return var1; 
} 

그리고 기본 방법에서 시도해보십시오.

//NUMBER OF LAST ROW 
    int checkvar1 = (Integer)jTable1.getRowCount(); 

    //->EXCHANGE WITH randomGenerator 
    checkvar1 = RandomGen.randomGen(checkvar1); 
+0

탱크 - 예. 하지만이 오류는 메인 클래스의 randomGen (int checkvar1) 매개 변수에 의해 발생합니다. "int var1 = RandomGen.variable();" RandomGen 클래스의 메소드 변수가 주어진 타입에 적용될 수 없습니다 ... – KatharsisHerbie

+0

'RandomGen.variable();'RandomGen 클래스에 메소드 변수()가 없습니다. 이 방법으로 무엇을하고 싶습니까? call checkvar1? 우리는 이미'checkvar1 = RandomGen.randomGen (checkvar1);'에 임의의 값을 정의했기 때문에 이미 임의의 변수를 가지고 있습니다. 이걸 사용하면 다른 것을 놓치겠습니까? – Gatusko

+0

yah sorry ... variable() = randomGen() 불행히도 -.- – KatharsisHerbie