簡體   English   中英

將2D數組從一類轉移到另一類

[英]Transferring a 2D array from one class to another

我正在嘗試獲取用戶在文本字段中添加的所有信息,然后將它們添加為2D數組。 我已經做到了這一點:

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方法進行打印。

我應該如何在類之間轉移2D數組?

我想將數組添加到的類:

                    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());

它創建此對話框。

最簡單的方法:只需調用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實例的引用將完全取決於您的程序的結構,這是我們目前尚不了解的信息。

話雖這么說,我確實想知道您的2D數組是否很爛,如果您最好創建一個類來保存此信息,然后將該類的對象傳遞到您的其他實例中,那就更好了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM