2013-04-22 62 views
0

當我編譯我的代碼,我得到這個錯誤:Java錯誤:類PaintballPlayer中的方法recordShot不能應用於給定的類型;

「PaintballPlayerTest.java:19:錯誤:類PaintballPlayer方法recordShot不能應用於給定類型; sheldon.recordShot(0); ^ 要求:沒有參數 found:int 原因:實際和正式參數列表的長度不同「

這是相當令人沮喪的,我希望如果有人在這裏能夠幫助我。代碼如下....

礦:

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; 
private int shots; 
private static int shotsFired; 


public PaintballPlayer(String first, String middle, String last) 
{ 
    count = 0; 
    id = totalPlayers++; 
    players = count++; 
    shots = 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 int recordShot() 
{ 
    return count; 
} 

public String toString() 
{ 
    String name; 
    String n; 
    name = firstName + " " + middleName + " " + lastName; 

    return name; 

} 


public int getPlayerID() 
{ 
    playerID = count; 
    return playerID; 
} 

} 

測試代碼:

public class PaintballPlayerTest 
{ 

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()); 

//Part 3 test recordShot 
sheldon.recordShot(0); 
sheldon.recordShot(1); 
leonard.recordShot(0); 
leonard.recordShot(0); 
sheldon.recordShot(0); 
sheldon.recordShot(1); 
leonard.recordShot(2); 
} 

我的問題就出在區域標記部分3.我感謝所有幫助我得到。

回答

1

required: no arguments found: int reason: actual and formal argument lists differ in length"

異常消息非常清楚。

您在PaintballPlayer

public int recordShot() 
{ 
    return count; 
} 

recordShot()沒有參數,但在PaintballPlayerTest

sheldon.recordShot(0); 

int參數調用要麼你需要同時呼籲recordShot()

改變 recordShot()recordShot(int cnt)(或)刪除傳遞價值
+0

所以,這個,會我在括號內添加「int」? 'public int recordShot(something here)'編輯:我想我明白你的意思 – 2013-04-22 20:53:54

+0

@DevonFreese:我無法完全理解你用recordShot()實現的目標。你只是回到那裏,那麼爲什麼你需要傳遞參數? – kosa 2013-04-22 20:56:34

+0

這是記錄了多少鏡頭,以便我可以在代碼中的某個其他位置生成平均值和得分。你的建議工作得很好。 – 2013-04-22 20:58:24

相關問題