在 main 中从其他 class 调用方法
Calling method from other class in main
我在 Location
class 中设置了一个方法来解析 xml 文件。但是当我尝试在主方法中从主 class 调用方法时,它似乎没有被调用。
我在 locObj.parseNetwork();
上设置了一个断点,但它从未被触发,println 在它执行后出现,所以不确定可能是什么问题。
有谁知道为什么 parseNetwork
没有被调用?
这是我从 main 调用方法的方式:
public class GrailQuestMain {
public static void main(String[] args) throws Exception {
//Parse in the xml file
Location locObj = new Location();
locObj.parseNetwork();
//Start screen prompt
System.out.println("********************************GRAIL QUEST************************************");
System.out.println("-------------------------------------------------------------------------------");
System.out.println("-------------------------------------------------------------------------------");
System.out.println("Hit enter to begin your quest to Cyprus..");
new Scanner(System.in).nextLine();
System.out.println("Loaded..");
}
}
这是位置 class 中的实际方法,两个 class 都在同一个包中:
public class Location implements Lookable{
private List<AbstractGameCharacter> observers = new ArrayList<AbstractGameCharacter>();
private List<Thing> objects = new ArrayList<Thing>();
private List<Exit> exits = new ArrayList<Exit>();
private String name;
private String description;
public void enter(AbstractGameCharacter gc){
observers.add(gc);
}
public void exit(GameChacter gc){
observers.remove(gc);
}
public void parseNetwork() throws ParserConfigurationException, SAXException, IOException{
//Get the DOM Builder Factory
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
//Get the DOM Builder
DocumentBuilder builder = factory.newDocumentBuilder();
//Load and Parse the XML document
//document contains the complete XML as a Tree.
Document document =
builder.parse(new File("network.xml"));
NodeList locationName = document.getElementsByTagName("location name");
}
}
在方法调用之前添加了 println 并得到了输出,但是方法似乎仍然没有被调用:
假设你上面的代码应该成功调用 parseNetwork()
我想你想检查你把断点放在哪里?或者将一些输出放在 parseNetwork()
中,看看它是否被打印出来。
这不是因为在执行期间抛出任何异常,因为它无法打印该方法调用后的行,因为您没有处理 parseNetwork()
抛出的异常
我在 Location
class 中设置了一个方法来解析 xml 文件。但是当我尝试在主方法中从主 class 调用方法时,它似乎没有被调用。
我在 locObj.parseNetwork();
上设置了一个断点,但它从未被触发,println 在它执行后出现,所以不确定可能是什么问题。
有谁知道为什么 parseNetwork
没有被调用?
这是我从 main 调用方法的方式:
public class GrailQuestMain {
public static void main(String[] args) throws Exception {
//Parse in the xml file
Location locObj = new Location();
locObj.parseNetwork();
//Start screen prompt
System.out.println("********************************GRAIL QUEST************************************");
System.out.println("-------------------------------------------------------------------------------");
System.out.println("-------------------------------------------------------------------------------");
System.out.println("Hit enter to begin your quest to Cyprus..");
new Scanner(System.in).nextLine();
System.out.println("Loaded..");
}
}
这是位置 class 中的实际方法,两个 class 都在同一个包中:
public class Location implements Lookable{
private List<AbstractGameCharacter> observers = new ArrayList<AbstractGameCharacter>();
private List<Thing> objects = new ArrayList<Thing>();
private List<Exit> exits = new ArrayList<Exit>();
private String name;
private String description;
public void enter(AbstractGameCharacter gc){
observers.add(gc);
}
public void exit(GameChacter gc){
observers.remove(gc);
}
public void parseNetwork() throws ParserConfigurationException, SAXException, IOException{
//Get the DOM Builder Factory
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
//Get the DOM Builder
DocumentBuilder builder = factory.newDocumentBuilder();
//Load and Parse the XML document
//document contains the complete XML as a Tree.
Document document =
builder.parse(new File("network.xml"));
NodeList locationName = document.getElementsByTagName("location name");
}
}
在方法调用之前添加了 println 并得到了输出,但是方法似乎仍然没有被调用:
假设你上面的代码应该成功调用 parseNetwork()
我想你想检查你把断点放在哪里?或者将一些输出放在 parseNetwork()
中,看看它是否被打印出来。
这不是因为在执行期间抛出任何异常,因为它无法打印该方法调用后的行,因为您没有处理 parseNetwork()