2015-11-29 99 views
0

我正在嘗試將用戶在文本字段中添加的所有信息添加到二維數組中。我必須完成,通過這樣做:將二維數組從一個類傳輸到另一個

int minorinput = JOptionPane.showConfirmDialog(frame, panel1, "Choose Minor Stats", JOptionPane.OK_CANCEL_OPTION); 

     if(minorinput == JOptionPane.OK_OPTION) 
     { 
      int [][] pureMR = new int [4][4]; 

      pureMR[0][0] = Integer.parseInt(Melee.getText()); 
      pureMR[1][0] = Integer.parseInt(Ranged.getText()); 
      pureMR[2][0] = Integer.parseInt(RC.getText()); 
      pureMR[3][0] = Integer.parseInt(Negotiation.getText()); 

      pureMR[0][1] = Integer.parseInt(Dodge.getText()); 
      pureMR[1][1]= Integer.parseInt(Perception.getText()); 
      pureMR[2][1] = Integer.parseInt(Will.getText()); 
      pureMR[3][1] = Integer.parseInt(Procure.getText()); 

      pureMR[0][2] = Integer.parseInt(rideBox.getText()); 
      pureMR[1][2] = Integer.parseInt(rideBox2.getText()); 
      pureMR[2][2] = Integer.parseInt(artBox.getText()); 
      pureMR[3][2] = Integer.parseInt(art2.getText()); 

      pureMR[0][3] = Integer.parseInt(knowledgeBox.getText()); 
      pureMR[1][3] = Integer.parseInt(knowledge2Box.getText()); 
      pureMR[2][3] = Integer.parseInt(infoBox.getText()); 
      pureMR[3][3] = Integer.parseInt(info2Box.getText()); 

但我無法弄清楚如何將陣列轉移到一個不同的類,它會在一個對象的構造函數中使用,這將讓我通過打印對象toString方法。

我應該如何將二維數組從班級轉移到班級?

Class I want to add the Array to:

    if(pureinput == JOptionPane.OK_OPTION) 
        { 

         String name = nameBox.getText(); 
         String age = ageBox.getText(); 
         String gender = genderBox.getText(); 
         String bloodType = bloodBox.getText(); 
         String height = heightBox.getText(); 
         String weight = weightBox.getText(); 
         String zodiac= zodiacBox.getText(); 
         String work = workBox.getText(); 
         String cover = coverBox.getText(); 
         String breed = "Pure"; 
         String sydrome = syndrome1Box.getText(); 

         int[] pureBS = new int[4]; 
         pureBS[0] = Integer.parseInt(bodyBox.getText()); 
         pureBS[1] = Integer.parseInt(senseBox.getText()); 
         pureBS[2] = Integer.parseInt(mindBox.getText()); 
         pureBS[3] = Integer.parseInt(skillBox.getText()); 

         int[] pureSS = new int[6]; 
         pureSS[0] = Integer.parseInt(mHPBox.getText()); 
         pureSS[1] = Integer.parseInt(stockBox.getText()); 
         pureSS[2] = Integer.parseInt(savingsBox.getText()); 
         pureSS[3] = Integer.parseInt(initBox.getText()); 
         pureSS[4] = Integer.parseInt(moveBox.getText()); 
         pureSS[5] = Integer.parseInt(dashBox.getText()); 

         String origin = orginBox.getText(); 
         String exp = ExperienceBox.getText(); 
         String encounter = EncounterBox.getText(); 
         String awake = AwakeningBox.getText(); 
         int eRate = Integer.parseInt(EncroachmentRateBox.getText()); 
         String impulse = ImpulseBox.getText(); 
         int eRate2= Integer.parseInt(EncroachmentRateBox2.getText()); 


         Character pure = new Character(name,age,bloodType,gender, height,weight,zodiac,work,cover, 
                 breed,sydrome,pureBS, pureSS,origin,exp,encounter,awake,eRate, 
                 impulse,eRate2, //Needs a 2D array here); 

         System.out.println(pure.pureToString()); 

It creates this dialog box.

回答

0

的最簡單方法:只需撥打一個setter方法,以及數組傳遞到實例:

if(minorinput == JOptionPane.OK_OPTION) { 
     int [][] pureMR = new int [4][4]; 

     // code to fill array 

     // assuming your OtherClass has this type of setter method... 
     // because if it doesn't, it NEEDS one. 
     otherInstance.setPureMr(pureMR); 

你在哪裏得到您的參考otherInstance實例將完全取決於你的程序是如何構造的,這個時候我們不知道的信息。如果你最好創建一個類來保存這些信息,然後將這個類的一個對象傳遞給你的另一個實例,那麼我不得不懷疑你的二維數組是否是一個混亂的數組。

+0

otherInstance是什麼意思?我是否需要在第一個類中創建一個對象,我希望將該數組傳遞給哪個類,那是otherInstance? –

+0

@ Kas.C:你已經聲明你想把這個信息傳遞給另一個類,''otherInstance'是另一個類。你如何創建它,你如何引用它,都將取決於你沒有告訴我們的信息,我們不知道。我的猜測是,你不想創建一個新的實例,你想引用一個現有的實例,但如果你想要一個更好的答案,你會想改善你的問題很多,並告訴我們更多的相關性缺少細節。 –

+0

@ Kas.C:明白我們只知道你向我們展示了什麼,告訴我們,不多也不少。 –

相關問題