本文介紹了編譯Java類,';和';<;標識符>;類型的非法開始預期';錯誤的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我在練習使用Java的構造函數,下面是我試圖編譯的類:
import java.util.*;
import java.lang.*;
public class mob{
public Map enemies = new HashMap<String, Point>();
public Point pn = new Point(1, 1);
enemies.put("Peon", pn);
public Point gn = new Point(5, 2);
enemies.put("Goblin", gn);
public Point tl = new Point(25, 8);
enemies.put("Troll", tl);
public Point oc = new Point(13, 5);
enemies.put("Orc", oc);
public String name;
public int hp;
public int dmg;
public mob(String type){
name=type;
hp=enemies.get(type).getX();
dmg=enemies.get(type).getY();
}
public mob(){
name="Peon";
hp=enemies.get("Peon").getX();
dmg=enemies.get("Peon").getY();
}
void setName(String name){
this.name=name;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in());
System.out.System.out.println("Enter mob type:");
String type = scan.nextln();
if(mob.containsKey(type)){
mob mob1 = new mob(type);
}
else{
mob mob1 = new mob();
mob1.setName(type);
}
System.out.println("You just spawned a "+mob1.name+", it has "+mob1.hp+" hp and "+mob1.dmg+" dmg!");
}
}
Main方法的目的是從控制臺獲取一些輸入,并根據輸入使用來自地圖的數據(“敵人”)或默認的暴徒創建特定的暴徒。但當我試圖在命令提示符中編譯它時,我在所有entemes.put()方法中都得到了錯誤,即:
mob.java:7: error: <identifier> expected
enemies.put("Peon", pn);
^
mob.java:7: error: illegal start of type
enemies.put("Peon", pn);
^
mob.java:9: error: <identifier> expected
enemies.put("Goblin", gn);
^
等
查看了類似的問題并嘗試修復問題(因此出現了所有公開聲明),但無法解決此問題…
使用Java和Java是v11.0.2
推薦答案
菱形用于告訴編譯器有關泛型類的信息。但是,語法應為:
public Map<String,Point> enemies = new HashMap<>();
和默認the enemies.put("Peon", pn);
命令必須在構造函數內執行。
這篇關于編譯Java類,';和';<;標識符>;類型的非法開始預期';錯誤的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,