在java中使用导入时遇到问题
我试图编译一些代码,从以下行开始:在java中使用导入时遇到问题,java,Java,我试图编译一些代码,从以下行开始: import java.util.*; 我不断地发现错误: class, interface, or enum expected 我在另一篇文章中看到,这是因为我没有正确使用导入。我是否需要以某种方式设置它,比如我在第一次为java添加路径异常时。我很难弄清楚这件事。除此之外,我很确定代码是好的 import java.util.*; public class setUpGame { private ArrayList<Weapo
import java.util.*;
我不断地发现错误:
class, interface, or enum expected
我在另一篇文章中看到,这是因为我没有正确使用导入。我是否需要以某种方式设置它,比如我在第一次为java添加路径异常时。我很难弄清楚这件事。除此之外,我很确定代码是好的
import java.util.*;
public class setUpGame {
private ArrayList<Weapon> weaponArray = new ArrayList<Weapon>();
class Weapon{
private String name = null;
private String description = null;
private int damageBase;
public String getName(){
return name;
}
public void setName(String n){
name = n;
}
public String getDescription(){
return description;
}
public void setDescription(String d){
description = d;
}
public int getDamageBase(){
return damageBase;
}
public void setDamageBase(int d){
damageBase = d;
}
}//END class Weapon
Weapon spear = new Weapon();
spear.setName("Mighty Spear");
spear.setDescription("An ancient spear. Bronze of tip, ash of shaft, decorated in slivers or roc's feather.");
spear.setDamageBase(3);
Weapon hooks = new Weapon();
hooks.setName("Silver Hooks");
hooks.setDescription("A pair of sharp, hand-held fighting hooks. Obsidian core, plated in silver.");
hooks.setDamageBase(2);
Weapon flameSword = new Weapon();
sword.setName("Flamesake");
sword.setDescription("An arming sword, newly enchanted. It erupts in flame when removed from the scabbard.");
sword.setDamageBase(3);
Weapon scissors = new Weapon();
scissors.setName("Snippy");
scissors.setDescription("Your mother's sewing scissors. They are nearly two hands long, as she was a large woman.");
scissors.setDamageBase(1);
Weapon darkGun = new Weapon();
darkGun.setName("Dark Cannon");
darkGun.setDescription("A finely crafted hand cannon. It has been enchanted by a dark sorcerer to fire bolts of corrupting darkness.");
darkGun.setDamageBase(3);
Weapon iceBow = new Weapon();
iceBow.setName("Chilling Bow");
iceBow.setDescription("");
iceBow.setDamageBase(2);
weaponArray.add(spear);
weaponArray.add(hooks);
weaponArray.add(flameSword);
weaponArray.add(scissors);
weaponArray.add(darkGun);
weaponArray.add(iceBow);
// set up game flavor text
}
public class SetUpGameTestDrive(){
public static void main(String [] args){
for (Weapon currentWeapon : weaponArray){
System.out.println(currentWeapon.getName() + "is " + currentWeapon.getDescription() + "It has a damage base of " +
currentWeapon.getDamageBase() + ".");
}
}
}
import java.util.*;
公共类游戏{
私有ArrayList weaponArray=新ArrayList();
阶级武器{
私有字符串名称=null;
私有字符串描述=null;
私人内部损坏基地;
公共字符串getName(){
返回名称;
}
公共void集合名(字符串n){
name=n;
}
公共字符串getDescription(){
返回说明;
}
公共void setDescription(字符串d){
描述=d;
}
public int getDamageBase(){
返回损伤基;
}
公共void setDamageBase(int d){
损伤基=d;
}
}//末级武器
武器矛=新武器();
矛。赛特名(“强力矛”);
长矛。装备描述(“一种古代长矛。尖为青铜,柄为灰烬,饰有银条或中华民国羽毛。”);
矛座损伤(3);
武器挂钩=新武器();
hooks.setName(“银钩”);
挂钩。套装说明(“一对锋利的手持战斗挂钩。黑曜石核心,镀银。”);
吊钩。设置损坏底座(2);
武器火焰剑=新武器();
剑。设定名称(“火焰杯”);
剑。设定描述(“一把武装的剑,刚被施了魔法。当它从鞘中取出时会爆发火焰。”);
剑。设置伤害基地(3);
武器剪刀=新武器();
剪刀。设定名称(“Snippy”);
剪刀。setDescription(“你母亲的缝纫剪刀。它们几乎有两只手长,因为她是个大女人。”);
剪刀。设置损伤底座(1);
武器暗箱=新武器();
暗炮:设置名称(“暗炮”);
一门精巧的手工加农炮。它被一位黑暗巫师施了魔法,可以发射腐蚀黑暗的闪电;
暗基。设置损伤基(3);
武器冰山=新武器();
iceBow.setName(“冷弓”);
iceBow.setDescription(“”);
冰山。设置损坏基座(2);
武器阵列。添加(矛);
武器阵列。添加(挂钩);
武器阵列。添加(火焰剑);
武器阵列。添加(剪刀);
武器阵列。添加(暗黑);
武器阵列。添加(冰山);
//设置游戏风格文本
}
公共类SetUpGameTestDrive(){
公共静态void main(字符串[]args){
用于(武器当前武器:武器阵列){
System.out.println(currentwarm.getName()+“是”+currentwarm.getDescription()+“它的伤害基数为”+
currentWearm.getDamageBase()+“);
}
}
}
应该是import java.util.*代码>
此语句的意思是包含java.util
包中存在的所有类型
如果只想包含特定类型,则可以使用完全限定名称,例如java.util.Calendar
。这将只包括日历
类
有一种常见的误解是,import
语句用于包含代码中要使用的必需类型,但这并不完全正确。它只允许我们使用短名称,而不是它的完全限定名称
你仍然可以使用
package com.so;
public class ImportTest {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
System.out.println(date);
}
}
这将编译fine并打印当前日期。import
语句只允许我们对类型使用短名称
所以,当您使用import语句时,代码就变成了
包com.so
import java.util.Date;
public class ImportTest {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}
}
编辑您的问题并发布相关代码以重现问题。看起来您遗漏了
,应该是import java.util.*代码>导入是否位于文件顶部,前面是否只有“package”语句?啊-我想是沙菲克发现的!我没有一揽子声明。用代码编辑了OP。新代码没有按照发布的方式编译,也不会产生问题中的原始错误,因此不清楚你在问什么。这是文章中的一个打字错误。我确实使用了java.util.*;甚至尝试使用:import java.util.ArrayList;这是我实际上正在尝试使用的,但我仍然得到了错误。@JavaNoob您可以发布完整的代码吗?这不再是一个真正的答案,因为不清楚真正的问题是什么。