为什么我的Java代码在对象声明后停止响应?

1 java constructor

我一直在研究java中基于文本的RPG,只是为了好玩.经过几个小时的繁琐工作,我写了几十个课程,用于武器,咒语,cmbat系统,购物系统等.我写了一个简单的课程来开始和运行游戏.所有它真正做的是显示一个主菜单,并创建一个对象,反过来创建游戏中的每个类,并开始一个新的游戏.RunGame类的代码如下:

import java.util.Scanner;
import java.util.Random;

public class RunGame {

public static void main(String []args) {    
    Scanner reader = new Scanner(System.in);
    int choice = 0;
    QueratiaMain main = new QueratiaMain();  //code stops responding after creation of this object. why?
//  reader.nextLine();
    System.out.println("Welcome to Queratia, a text-based RPG! Choose an option:\n1. Start New Game\n2. Exit");
    choice = reader.nextInt();      
    if(choice == 1) {       

    }else
        System.exit(99);
}
}
Run Code Online (Sandbox Code Playgroud)

一切都编译得很好,但是当我运行程序时,代码似乎停止在我创建QueratiaMain对象的任何行上进行.有什么想法为什么会这样做?谢谢!

更新:调试代码后,我得到了几行调试器告诉我没有找到源代码,并且某些行抛出了一个未找到的文件异常.但是,我正在Eclipse中的正常工作区工作,那么这怎么可能呢?我试图手动指定在哪里找到文件,但没有改变.关于为什么会发生这种情况的任何想法?

Ste*_*ker 6

打开Java调试器.在main()上放置一个断点.单步执行所有代码,特别是步入QuertiaMain()构造函数.当你单步执行时,最终你会遇到一条挂起或无限循环的线路或一些阻止前进的条件.代码循环可能很明显,或者你可以在这里发布循环代码以获得更具体的帮助......