簡體   English   中英

通過方法在不同類之間調用變量

[英]Calling variables between different classes through methods

我正在為計算機科學課做作業。

我已經完成了很多分配工作,但是在從類中提取單個變量時遇到了一些麻煩。 我們只是進入類和對象,這是我們對它們的第一次分配,因此我並不完全理解所有這些。 到目前為止,我已經能夠打印出各個團隊,但是我還無法提取出個人的勝利,失敗,OTL和OTW,以便我可以計算出每個單獨的團隊是否都是獲勝的團隊。

到目前為止,我所做的是創建一個名為winningRecord和getPoints的類,該類返回一個布爾值,該布爾值決定是否是一支獲勝的團隊。 (一支獲勝球隊的公式是,如果得分是>玩過的游戲* 1.5(因為這是偶數記錄)。

我不知道如何獲取統計信息,因為它必須在HockeyTeam類中編寫。 我已經進行了設置,以便構造函數公開設置變量,以便可以訪問,但是就訪問它們而言,我感到很困惑。

至於一旦我能夠訪問它們就將它們存儲起來,我是否會制作一個並行方法來為每個團隊分配分數,而每個倉位僅分配一個數字?

這是所有代碼,感謝您的關注。

public class A1Q2fixed {
    public static void main(String[] parms) { // main method
        processHockeyTeams();
    }

    /*****************************/

    public static void processHockeyTeams() { // processing method
        boolean[] winningRecord;
        HockeyTeam[] hockeyTeams;

        hockeyTeams = createTeams();
        printTeams(hockeyTeams);
        System.out.print("*********************\n");
        printWinningTeams();
        winningRecord = HockeyTeam.winningRecord(hockeyTeams);
        // printWinningTeams(hockeyTeams); 
    }

    /*********************************/

    public static void printTeams(HockeyTeam[] hockeyTeams) {
        for (int i = 0; i < hockeyTeams.length; i++) {
            System.out.println(hockeyTeams[i]);
        }

    }

    public static void printWinningTeams() {

    }

    public static HockeyTeam[] createTeams() {
        HockeyTeam[] teams;
        HockeyTeam team;
        int count;

        teams = new HockeyTeam[HockeyTeams.getNumberTeams()];
        team = HockeyTeams.getTeam();
        for (count = 0; (count < teams.length) && (team != null); count++) {
            teams[count] = team;
            team = HockeyTeams.getTeam();
        }
        return teams;
    }
}

/* hockey team class *******/

class HockeyTeam {
    public String name;
    public int wins;
    public int otw;
    public int otl;
    public int losses;

    public HockeyTeam(String name, int wins, int otw, int otl, int losses) {
        this.name = name;
        this.wins = wins;
        this.otw = otw;
        this.otl = otl;
        this.losses = losses;
    }

    public String toString() {
        System.out.println(name);

        return " W:" + wins + " OTW:" + otw + " OTL:" + otl + " L:" + losses;
    }

    public static boolean[] winningRecord(HockeyTeam[] hockeyTeam) {
        boolean array[] = new boolean[hockeyTeam.length];

        String name;
        int wins;
        int otw;
        int otl;
        int losses;

        for (int i = 0; i < hockeyTeam.length; i++) {
            System.out.println(HockeyTeam.name);
        }
        return array;
    }

    public static int getPoints() {
        int points = 0;
        return points;
    }
}

/* hockey teams class *******************/
class HockeyTeams {
    private static int count = 0;

    private static HockeyTeam[] hockeyTeams = {
            new HockeyTeam("Canada", 5, 3, 0, 0),
            new HockeyTeam("Russia", 5, 1, 1, 2),
            new HockeyTeam("Finland", 3, 2, 1, 3),
            new HockeyTeam("Sweden", 4, 1, 1, 4),
            new HockeyTeam("USA", 1, 2, 2, 3), };

    public static int getNumberTeams() {
        return hockeyTeams.length;
    }

    public static HockeyTeam getTeam() {
        HockeyTeam hockeyTeam;

        hockeyTeam = null;
        if (count < hockeyTeams.length) {
            hockeyTeam = hockeyTeams[count];
            count++;
        }
        return hockeyTeam;
    }
}

謝謝,

馬特。

抱歉,但是從我的理解看來,您似乎無法理解您的部分問題,因為您似乎無法獲取個人的贏,輸,OTL和OTW。 我希望這能回答您的問題,如果不能,請澄清一下

  1. 要訪問OTL,OTW,請執行以下循環:

     public class A1Q2fixed { public static void main(String[] parms) // main method { processHockeyTeams(); } /*****************************/ public static void processHockeyTeams() // processing method { boolean[] winningRecord; HockeyTeam[] hockeyTeams; hockeyTeams = createTeams(); printTeams(hockeyTeams); System.out.print("*********************\\n"); printWinningTeams(); winningRecord = HockeyTeam.winningRecord(hockeyTeams); for(HockeyTeam h:hockeyTeams) { System.out.println(h.losses);//To access and print losses System.out.println(h.otw);//To access and print otw System.out.println(h.otl);//To access and print otl } // printWinningTeams(hockeyTeams); } /*********************************/ public static void printTeams(HockeyTeam[] hockeyTeams) { for (int i = 0; i < hockeyTeams.length; i++) { System.out.println(hockeyTeams[i]); } } public static void printWinningTeams() { } public static HockeyTeam[] createTeams() { HockeyTeam[] teams; HockeyTeam team; int count; teams = new HockeyTeam[HockeyTeams.getNumberTeams()]; team = HockeyTeams.getTeam(); for (count=0; (count<teams.length) && (team!=null); count++) { teams[count] = team; team = HockeyTeams.getTeam(); } return teams; } } 
  2. 同時在HockeyTeam中將名稱聲明為Static

暫無
暫無

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

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