[英]Java identifier expected
我正在編寫一個允許兩個超級英雄戰斗的程序。 第一個類已正確編譯,但是 main 沒有正確編譯。 我在第 9 行和第 18 行遇到了相同的錯誤。 我希望有人可以幫助我。
格斗課:
public class Fight {
public static void main (String [] args) {
Superhero Spiderman = new Superhero();
Superhero TheHumanTorch = new Superhero(21);
}
public TheHumanTorch fight(Spiderman){
System.out.Println(TheHumanTorch);
}
private void powerUp(int amount) {
int amount = 100;
Spiderman Strength = Strength + amount;
}
public TheHumanTorch fight(Spiderman){
System.out.Println(Spiderman);
}
}
超級英雄班:
public class Superhero {
public String Name;
private int Strength;
public Superhero(String n,int s) {
Name = n;
Strength = s;
}
public Superhero(String n) {
Name = n;
Strength = 10;
}
private void PowerUp(int amount) {
Strength = Strength + amount;
}
public Superhero fight(Superhero opponet) {
if (this.Strength > opponet.Strength) {
return this;
} else {
return opponet;
}
}
public String toString() {
return "Superhero";
}
}
在第 9 行和第 18 行:
public TheHumanTorch fight(Spiderman){
你沒有定義蜘蛛俠。 你可以這樣做:
public void fight(Superhero superHero){
您的代碼的其他問題包括:
main
定義兩次戰斗方法)fight
的返回類型可能只是void
Superhero
而不是TheHumanTorch
Spiderman Strength = Strength + amount;
會給你一個錯誤。 實力是int
。 你可以這樣做。 this.strength += amount;
SuperHero
類中的SuperHero
fight()
方法是有偏見的。 勢均力敵的局面,對手總是勝利。 你可以為力量平局創造條件。fight
和各種方法。 沒有必要這樣做。 只需創建一個SuperHero
實例並從該實例調用方法:
//In main
SuperHero hero1= new SuperHero("Spiderman");
SuperHero hero2= new SuperHero("Batman");
hero1.fight(hero2); //Let Spiderman fight with Batman
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.