-2

次の行で始まるコードをコンパイルしようとしています。

import java.util.*;

エラーが発生し続けます:

class, interface, or enum expected

これは、インポートを正しく使用していないためであると他の投稿で見ました。最初にJavaのPATH例外を追加したときのように、何らかの方法で設定する必要がありますか。私はこれを理解するのに苦労しています。これ以外にも、コードが優れていると確信しています。

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() + ".");
        }           
    }
}
4

1 に答える 1

6

このステートメントが意味することは、パッケージimport java.util.*; に存在するすべてのタイプを含めることです。java.util

特定のタイプのみを含めたい場合は、完全修飾名を使用できますjava.util.Calendar。これには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);

    }

}

これにより、適切にコンパイルされ、現在の日付が出力されます。この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);

    }

}
于 2013-07-26T03:13:26.900 に答える