【发布时间】:2017-01-21 21:17:34
【问题描述】:
我正在尝试将“玩家”对象从案例“A”转移到案例“G”,但我当然不能这样做,因为该对象是在案例 A 中创建的,我必须将其保留在那里。如何在保持相同实例的同时将其移到那里? java初学者。我希望能够通过按“G”来编辑数组中的玩家
package hockeyplayer;
import java.util.Scanner;
public class HockeyMain {
private static String choice;
private static HockeyPlayer[] players = new HockeyPlayer[12];
private static final String MENU = "Hockey Tracker\n"+
"A-Add Player\n"+
"G-Add game details\n"+
"S-Show players\n"+
"X-Quit\n";
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
do{
System.out.println(MENU);
choice = input.nextLine();
switch(choice){
case "A":
HockeyPlayer player = new HockeyPlayer();
players[player.getPlayerNumber()-1] = player;
break;
case "G":
break;
case "S":
break;
case "X":
}
}while(!choice.equals("X"));
}
}
package hockeyplayer;
import java.util.Scanner;
public class HockeyPlayer {
private String[] opponent = new String[10];
private int[] goalsScored = new int[10];
private int[] gameNumber = new int[10];
private String name;
private int playerNumber;
public HockeyPlayer() {
Scanner input = new Scanner(System.in);
System.out.println("What is the name of the player?");
name = input.nextLine();
System.out.println("What is the player's number?");
playerNumber = input.nextInt();
input.nextLine();
}
public String[] getOpponent() {
return opponent;
}
public void setOpponent(String[] opponent) {
this.opponent = opponent;
}
public int[] getGoalsScored() {
return goalsScored;
}
public void setGoalsScored(int[] goalsScored) {
this.goalsScored = goalsScored;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPlayerNumber() {
return playerNumber;
}
public void setPlayerNumber(int playerNumber) {
this.playerNumber = playerNumber;
}
public void addGameDetails(){
Scanner input = new Scanner(System.in);
System.out.println("What game number was it?");
gameNumber[0] = input.nextInt();
input.nextLine();
System.out.println("Who were the opponents?");
opponent[0] = input.nextLine();
System.out.println("How many goals did the player score?");
goalsScored[0] = input.nextInt();
}
}
【问题讨论】:
-
我忘记了我的另一页代码,但是有一个 addGameDetails() 方法和 Hockey() 构造函数。我想通过按 G 将我的实例/对象传递给 addGameDetails()。
-
如果我在下面发布的答案不起作用,您也可以添加该代码
标签: java arrays object switch-statement instance