用对象Java替换变量

时间:2015-02-12 07:12:10

标签: java

所以我在这个名为Player的类中有我的构造函数,其中每个玩家都是5的数组(将他们的赌注存储在另一个类中):

public class Player {

private int[] anyplayer = new int[5];

// constructor for each player at the table

public Player(int[] anyplayer) {

    this.anyplayer = anyplayer;
}

现在我已经在不知不觉中将我的另一个课程编码为:

 int[] player2 = new int[5]; // this is a variable I'm trying to change to the object
        try{

           for(int i=0;i<5;i++) {

               player2[i] = Integer.parseInt(keyin.nextLine());

               }
           }

       catch(NumberFormatException e){  

           System.out.println("Player 3 : ");  
       }

现在我无法在不破坏一切的情况下找到解决方法!我仍然是编程的新手,但有一种简单的方法可以用int[] player2 = new int[5];之类的构造函数中的实际对象替换Player player2 = new player();吗?

我已经尝试了,并且一直说The constructor Player() is undefined

4 个答案:

答案 0 :(得分:3)

你的构造函数接受一个整数数组,所以它将是

int[] player2 = new int[5];
Player somePlayer = new Player(player2);

答案 1 :(得分:1)

为什么不使用你制作的数组创建对象?添加到最后:

Player player2object = new Player(player2);

答案 2 :(得分:1)

每个Java类都有默认的空构造函数,直到您为此对象设置任何其他构造函数。 你必须添加新的构造函数

public Player() {
   //youre code
}

或在玩家构造函数调用中设置玩家数量(来自@Dmitrii Kondratev回答)

int[] player2 = new int[5];
Player somePlayer = new Player(player2);

答案 3 :(得分:0)

你唯一的构造函数将一个int数组作为参数,这就是原因。

如果您认为在没有int数组的情况下初始化Player对象是可以的,则可以添加无参数构造函数,如下所示:

public Player(){}

或者您必须将int数组传递给构造函数,如下所示:

int[] tmpa=null;
Player p=new Player(tmpa);