我正在尝试将值从驱动程序读取到HashMap
到单独的abstract
程序。之后,我希望将内容打印给用户。但是,当我调用该方法时没有任何反应
GameDriver
import java.io.*;
import java.util.*;
import java.awt.*;
public class GameDriver {
public static void main(String[] args) throws FileNotFoundException {
String s;
File f = new File (args[0]);
Scanner input = new Scanner(f);
while (input.hasNext()) {
s = input.next();
if (s.equalsIgnoreCase("h")) {
Hero c1 = new Cop();
System.out.println(c1);
}
if (s.equalsIgnoreCase("r")) {
Hero c2 = new Cop();
String cn = input.next();
int pts = input.nextInt();
c2.newMap.put(cn, pts);
c2.rescue();
System.out.println(c2);
}
}
}
}
Hero.java
import java.util.*;
import java.io.*;
import java.awt.*;
public abstract class Hero extends Character
{
private String heroname1;
public Hero() {
heroname1 = "Rick Grimes"; //the default player name
}
HashMap<String, Integer> newMap = new HashMap<String, Integer>();
public Hero(String newhero) {
if (newhero.length() > 0) {
heroname1 = newhero;
} else { heroname1 = "Rick Grimes"; } //defaulted as protagonist
}
public String getHeroName() {
return heroname1; //return the name
}
public String rescue() { //class to rescue people or things
return " rescued " + newMap + "pts!";
}
public String toString() { //print
return heroname1 + rescue();
}
}
驱动程序在.txt文件中读取的是一个示例
.TXT
c h Rick Grimes//create hero
r Carl 100 //rescue name and point value
最后我的输出与所需的输出
当前输出
Rick Grimes
Rick Grimes
所需输出
Rick Grimes
Rick Grimes rescued Carl 100pts!
感谢任何帮助过的人!询问您是否需要任何澄清
编辑Cop.java
import java.io.*;
import java.util.*;
import java.awt.*;
public class Cop extends Hero {
public Cop() {
super();
}
public void hero1(String newhero) {
newhero = getHeroName(); //get name from the Hero class
}
public void lieDetect() { //unique ability for cops
System.out.println("Cops can tell the good from the bad");
}
}
答案 0 :(得分:1)
在GameDriver中:
if (s.equalsIgnoreCase("h")) {
Hero c1 = new Cop();
System.out.println(c1.getHeroName());
}
英雄级的救援方法:
public String rescue() { //class to rescue people or things
String toReturn = "";
for(String _key : newMap.keySet()) {
toReturn += " rescued " + _key + " " + newMap.get(_key) + "pts!";
}
return toReturn;
}
我获得了所需的输出。