Compiling java class, #39;illegal start of type#39; and #39;lt;identifiergt; expected#39; errors(编译Java类,#39;和#39;lt;标识符gt;类型的非法开始预期#39;错误)
问题描述
我在练习使用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类,';和';<;标识符>;类型的非法开始预期';错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:编译Java类,';和';<;标识符>;类型的非法开始预期';错误
- Eclipse 插件更新错误日志在哪里? 2022-01-01
- 如何使用WebFilter实现授权头检查 2022-01-01
- Safepoint+stats 日志,输出 JDK12 中没有 vmop 操作 2022-01-01
- Jersey REST 客户端:发布多部分数据 2022-01-01
- value & 是什么意思?0xff 在 Java 中做什么? 2022-01-01
- C++ 和 Java 进程之间的共享内存 2022-01-01
- Java包名称中单词分隔符的约定是什么? 2022-01-01
- 将log4j 1.2配置转换为log4j 2配置 2022-01-01
- Spring Boot连接到使用仲裁器运行的MongoDB副本集 2022-01-01
- 从 finally 块返回时 Java 的奇怪行为 2022-01-01