如何让一个类从一个单独的窗口调用另一个类?

时间:2015-02-22 01:48:23

标签: java oop

我应该建造2支球队(热火和马刺),然后模拟七个最佳游戏系列,其中生成一个随机数,任何高于0.5的任何一个都会让热量获胜。

问题在于我们从未在演讲中遇到过与此类似的问题。我们给了两个代码,一个类必须调用另一个代码(我认为)。

以" //开头的所有东西构建马刺"是我加入的。 "加热"上面的部分是给出的。

//Warning: Do not change the given codes
import java.util.Random;
import java.util.Scanner;

public class NBA {
public static void main(String[] args) {

    //construct Team Heat
    NBATeam heat= new NBATeam("Heats");
     System.out.print("How many players Heats own: ");
     Scanner input = new Scanner (System.in);
     int numberOfPlayers = input.nextInt();

    // Prompt user to enter players into the Team
     for (int i = 0; i < numberOfPlayers; i++) {
           System.out.print("Enter the name of Player #" + (i + 1) + ": ");
           String playerName = input.next();
           heat.addAPlayer(playerName);
     }

    //construct Team Spurs
             NBATeam spurs= new NBATeam("Spurs");
     System.out.print("How many players Spurs own: ");
     Scanner spursInput = new Scanner (System.in);
     int spursNumOfPlayers = spursInput.nextInt();


     //Your code here
            for (int i = 0; i < spursNumOfPlayers; i++) {
           System.out.print("Enter the name of Player #" + (i + 1) + ": ");
           String playerName = input.next();
           spurs.addAPlayer(playerName);

/*simulate a series of atmost 7 games by generating a random number; 
 * if the random number is bigger than 0.5, Heat wins; otherwise Heat losses a game.
 *  As soon as team wins 4 games, the series is over. */

int gamesPlayed=0; int heatWins=0; int spursWins=0; Random randNum = new Random(); randNum.nextDouble();


     //Your code here
while(gamesPlayed<8){
                        if (randNum.nextDouble()>0.5){
                            gamesPlayed++; heatWins++;

                        }
                        else{
                            spursWins++; gamesPlayed++;
                        }
    if (heatWins==4){

        System.out.println("Heat win!");
    }

    else{
        System.out.println("Spurs win!");
    }
        System.out.println(heat);
        System.out.println(spurs);

    }
}


}

}

下面的代码是在一个单独的窗口/文件中给出的,我没有做任何事情,因为我甚至不知道我被要求做什么。

public class NBATeam {

private String sTeamName;
private int nWin;
private int nLoss;
private String[] playerArray;
//Your code here

}//end of class definition

指示如下:

&#34;给出了NBATeam和NBA课程的部分java源代码。 NBATeam课程是篮球队的课程。该类设置团队的名称并分配成员名称(名称由用户输入)。 NBA级使用NBATeam级创建两支Heats和Spurs队。它询问每个团队中的玩家数量,然后询问成员的姓名。使用NBATeam类中的addAPlayer(String newPlayerName)方法将成员添加到相应的团队中。&#34;

1 个答案:

答案 0 :(得分:0)

您需要做的第一件事是将NBATeam java文件放在与NBA文件相同的包中。这应该摆脱&#34;找不到符号。课程:NBATeam。&#34;如果NBATeam不在同一个软件包中,那么您需要import,导入java.util.Scanner的方式相同。

其次,您需要在NBATeam类中创建一个接受String的构造函数,您可以使用该字符串来设置团队名称。如果你不知道构造函数是什么,你可以直接google&#34;什么是Java中的构造函数&#34;。这是one of the first results

我接下来要做的事情,虽然没有被指示(如果你所展示的是什么,似乎是一个缺失的指令),是创建一个&#34; setter&#34;对于String[] playerArray类中的NBATeam,即public void setPlayerArray(String[] playerArray)。如果您不知道如何完成此操作,您可以google&#34;什么是Java中的setter&#34;。这是one of the first results。从用户那里获得玩家数量后,您将不会创建一个具有玩家数量的新空String[],然后使用&#34; setter&#34;您创建了在NBATeams对象中设置数组,即heat/spurs

然后,您需要向public void addAPlayer(String name)类添加方法NBATeam。这个方法的主体应该在playerArray数组中设置一个值,使用name参数和循环中i的值来确定数组中的插入点。