Vì vậy, đây là mã của tôi:Không có yếu tố ngoại lệ như vậy?
public static void getArmor(String treasure)
throws FileNotFoundException{
Random rand=new Random();
Scanner file=new Scanner(new File ("armor.txt"));
while(!file.next().equals(treasure)){
file.next(); //stack trace error here
}
int min=file.nextInt();
int max=file.nextInt();
int defense=min + (int)(Math.random() * ((max - min) + 1));
treasure=treasure.replace("_", " ");
System.out.println(treasure);
System.out.println("Defense: "+defense);
System.out.println("=====");
System.out.println();
}
public static void getTreasureClass(Monster monGet)
throws FileNotFoundException{
Random rand = new Random();
String tc=monGet.getTreasureClass();
while (tc.startsWith("tc:")){
Scanner scan=new Scanner(new File ("TreasureClassEx.txt"));
String eachLine=scan.nextLine();
while(!tc.equals(scan.next())){
eachLine=scan.nextLine();
}
for (int i=0;i<=rand.nextInt(3);i++){
tc=scan.next();
}
getArmor(tc); //stack trace error here
}
}
Đối với một số lý do tôi nhận được một số phần tử ngoại lệ như vậy
at java.util.Scanner.throwFor(Scanner.java:907)
at java.util.Scanner.next(Scanner.java:1416)
at LootGenerator.getArmor(LootGenerator.java:43)
at LootGenerator.getTreasureClass(LootGenerator.java:68)
at LootGenerator.getMonster(LootGenerator.java:127)
at LootGenerator.theGame(LootGenerator.java:19)
at LootGenerator.main(LootGenerator.java:11)
Tôi không chắc chắn lý do tại sao mặc dù. Về cơ bản chương trình của tôi là tìm kiếm thông qua hai tập tin văn bản - armor.txt và TreasureClassEx.txt. getTreasureClass nhận một lớp kho báu từ một con quái vật và tìm kiếm thông qua txt cho đến khi nó đạt đến một mục giáp cơ bản (một chuỗi không bắt đầu bằng tc :.) Sau đó tìm kiếm getArmor cho một bộ giáp phù hợp với tên của bộ giáp cơ bản mà nó có được lớp kho báu. Lời khuyên nào sẽ được đánh giá cao! Cảm ơn!
Các liên kết đến các file txt là ở đây: http://www.cis.upenn.edu/~cis110/hw/hw06/large_data.zip
Thật tuyệt nếu bạn có thể gắn cờ các dòng mã được đề cập trong theo dõi ngăn xếp bằng cách sử dụng các nhận xét để chúng tôi có thể nhận được một điểm tham chiếu. –
Bạn có thể đăng nội dung tập tin không? – Tom