【问题标题】:Java Simple RPG game(does not run)Java 简单 RPG 游戏(不运行)
【发布时间】:2013-07-27 13:04:50
【问题描述】:

此代码由于某种原因无法运行。 这是一款简单的角色扮演游戏。 `
导入 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 {

        }

    }

` 即使我有 public static void main,代码也无法运行。 有问题吗?另外,数组和Grasslands类还没有完成。

【问题讨论】:

  • “代码无法运行”是什么意思。它是尝试运行但遇到错误,还是以没有 IO 结束,或者您的 IDE 有问题? (请注意,您的 main 方法捕获 IOExceptions;如果存在 IOException,则 main 方法将退出而不显示错误消息。这很可能是您的问题。为什么在整个程序生命周期中都捕获该异常?为什么不验证用户输入?)
  • 你使用什么命令来启动你的应用程序?

标签: java


【解决方案1】:

main 方法必须在公共类中,以便可以从“外部”访问。见这里:What if main method is inside "non public class" of java file?

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

【讨论】:

  • 不,课程不必公开。
  • @JBNizet 真的吗?提供的 SO 问题直接说明其他情况
  • 测试一下。应该不难。我刚刚使用 Java 7 完成了它,它运行没有任何问题。
  • 您是在暗示 SO 问题的回答不正确,还是在您无法识别的情况下存在细微差别? :\
  • 我没有完整的 Java 历史。也许在过去是不可能的。但至少在 Java 7 中,非公共类中的 main 方法,即使在与公共类相同的文件中定义,也可以毫无问题地执行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-19
  • 2011-10-16
  • 2013-03-05
相关资源
最近更新 更多