Java简单RPG游戏(不运行)

Java简单RPG游戏(不运行),java,Java,由于某些原因,此代码无法运行。 这是一个简单的RPG游戏。 ` 导入java.util.Scanner public class My_first_RPG { double exp; double attack; double vitality; double armor; double mana; int skill() { return (int) (attack

由于某些原因,此代码无法运行。 这是一个简单的RPG游戏。 `
导入java.util.Scanner

    public class My_first_RPG {
        double exp;
        double attack;
        double vitality;
        double armor;
        double mana;

        int skill() {
            return (int) (attack*mana);
        }
    }
    class character {
        public static void main(String args[]) 
            throws java.io.IOException {
            My_first_RPG Mage = new My_first_RPG();
            My_first_RPG Warrior = new My_first_RPG();
            My_first_RPG Archer = new My_first_RPG();
            My_first_RPG Dwarven_Mech = new My_first_RPG();
            My_first_RPG Steel_Golem = new My_first_RPG();
            int world[][] = new int[10][10];
            world[1][1]=2; 

            Mage.attack = 75;
            Mage.vitality = 1;
            Mage.armor = 10;
            Mage.mana = 200;

            Warrior.attack = 100;
            Warrior.vitality = 2;
            Warrior.armor = 20;
            Warrior.mana = 100;

            Archer.attack = 65;
            Archer.vitality = 1;
            Archer.armor = 15;
            Archer.mana = 150;

            Dwarven_Mech.attack = 125;
            Dwarven_Mech.vitality = 0.5;
            Dwarven_Mech.armor = 5;
            Dwarven_Mech.mana = 75;

            Steel_Golem.attack = 50;
            Steel_Golem.vitality = 0;
            Steel_Golem.armor = 30;
            Steel_Golem.mana = 50;

            System.out.println("Choose your Hero.");
            System.out.println("1. Mage");
            System.out.println("2. Warrior");
            System.out.println("3. Archer");
            System.out.println("4. Dwarven Mech");
            System.out.println("5. Steel Golem");

            Scanner sc = new Scanner(System.in);
            int choice = sc.nextInt();

            switch(choice) {
                case 1:
                    System.out.println("You are now a Mage.");
                case 2:
                    System.out.println("You are now a Warrior.");
                case 3:
                    System.out.println("You are now a Archer.");
                case 4:
                    System.out.println("You are now a Dwarven Mech.");
                case 5:
                    System.out.println("You are now a Steel Golem.");
            }   
        }
        class Grasslands {

        }

    }
` 即使我有公共静态void main,代码也无法运行。
有什么问题吗?另外,数组和类Grasslands还没有完成。

主方法必须位于公共类内部,以便可以从“外部”访问它。请看这里:


请注意,每个文件只能有一个公共类。

您所说的“代码无法运行”是什么意思。它是否尝试运行但遇到错误,或者是否结束时没有IO,或者IDE中是否存在问题?(请注意,主方法捕获IOException;如果存在IOException,则主方法将在退出时不会显示错误消息。这很可能是您的问题。为什么在整个程序生命周期中捕获该异常?为什么不验证用户输入?)启动应用程序时使用的命令是什么?不,这个类不必是公共的,真的吗?提供的SO问题直接说明了其他方面的测试。应该不难。我刚刚用Java 7做了,它运行起来没有任何问题。你是说问题回答不正确,还是说在你毫无帮助地无法识别的情况下有细微的差别\我没有完整的Java历史记录。也许这在过去是不可能的。但至少在Java7中,非公共类中的主方法,即使与公共类定义在同一个文件中,也可以毫无问题地执行。