将二维数组从一个类传输到另一个

问题描述:

我正在尝试将用户在文本字段中添加的所有信息添加到二维数组中。我必须完成,通过这样做:将二维数组从一个类传输到另一个

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.

的最简单方法:只需拨打一个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:明白我们只知道你向我们展示了什么,告诉我们,不多也不少。 –