我沒有看到我在這裏做錯了什麼,或者這裏的任何東西是靜態的,沒有以這種方式聲明。我只需要在這裏指出正確的方向。獲取錯誤:非靜態方法getTotalPlayers()不能從靜態上下文中引用
測試代碼:
public class PaintballPlayerTest
{
//Test program for PaintballPlayer assignment
public static void main (String [] args)
{
//Part 1 check constructor & toString --(make sure ID is working too)
PaintballPlayer sheldon = new PaintballPlayer ("Sheldon", "Lee", "Cooper");
PaintballPlayer leonard = new PaintballPlayer ("Leonard", "Hofstadter");
PaintballPlayer amy = new PaintballPlayer ("Amy", "Farrah", "Fowler");
System.out.println(sheldon);
System.out.println(leonard);
//Part 2 test getTotalPlayer --should be 3
System.out.println("The team has this many players " + PaintballPlayer.getTotalPlayers());
我的代碼:
import java.util.*;
public class PaintballPlayer
{
private String firstName, middleName, lastName;
private String secFirst, secLast;
private int id;
private int count;
private static int totalPlayers;
private int playerID;
private int players;
public PaintballPlayer(String first, String middle, String last)
{
count = 0;
id = totalPlayers++;
players = count++;
firstName = first;
middleName = middle;
lastName = last;
}
public PaintballPlayer(String f, String l)
{
this (f,"",l);
id = count++;
}
public PaintballPlayer()
{
totalPlayers++;
}
public static int getTotalPlayers()
{
return totalPlayers;
}
public String toString()
{
String name;
String n;
name = firstName + " " + middleName + " " + lastName;
return name;
}
public int getPlayerID()
{
playerID = count;
return playerID;
}
}
同樣,我的問題是與getTotalPlayers()方法。
編輯:這是我編輯的代碼應用所提供的修復程序。謝謝!
您的代碼中存在語義問題。爲什麼在構造函數中設置count = 0?我建議你使用'count ++;'然後'id = count;''players = count;'並且不要使用''count = count ++;'' count = 0;' – 2013-04-22 17:42:43