您好再次StackOverflow的调用方法,想读取用户输入并在第二类
短版本: 如果我有一个名为secondCommand字符串,这个字符串就是我要在另一个类中调用一个方法,我怎样才能使用该格式的字符串: “Circle.secondCommand” 实际调用该方法?
长版本: 我正在编写一个关于形状操作的程序 - 我目前只使用Circle,但是我将扩展到使用3个更多的形状,一旦我的Circle工作正常。我的程序目前的工作原理如下:
InputReader扫描用户输入,分别返回每个单词输入。这在我的ShapeProgrammer类中被称为'Execute'的方法中处理。因为它代表该方法是这样的:
private void execute(String[] commands)
{
String firstCommand = commands[0];
String secondCommand = commands[1];
String thirdCommand = commands[2];
{
Circle c = shapes.get(firstCommand);
if(firstCommand.equals("circle")) {
makeACircle(commands);
}
else if(c != null){
int newInt = Integer.parseInt(thirdCommand);
if (newInt != null)
Circle.secondCommand(newInt);
c = null;
}
else if(firstCommand.equals("help")) {
printHelp();
}
else {
System.out.println("Unknown command: " + firstCommand);
}
}
}
字符串[]命令在一个while语句定义在较早的方法如下所示:
String[] commands = reader.getInput();
我有所有的形状本身在单独的方法中每种形状的类 - 我已经写入Execute方法,我正在尝试做什么,但是NetBeans给我所有的错误。
用户将被预期(和)告知输入它们的命令在一个特定的格式:
当创建的形状,这将是形状名称
每个形状是在存储在HashMap中当字符串是名字的时刻
当想要编辑/使用形状时,它将是名称命令变量 - 我想我已经尽可能从HashMap调用形状,现在我只是想知道我怎样才能让我的弦乐seco ndCommand可用,以便从另一个类中调用该方法。
作为一个旁注,我有 int newInt = Integer.parseInt(thirdCommand) 因为我的一些方法是用于changeSize或者需要int输入。我可以摆脱它,并将其放到Circle类中(如果这样会更容易),那么我只需将第三个命令字符串调用到其他方法中并在那里转换为int。
这是很长的时间,它确切地提出一个特定的问题。 –
已编辑,感谢您的建议! – user3074653