嗨,我是Java的初学者,所以没有复杂的代码等等。
基本上为了避免我的代码变得太长,我希望我的用户输入一个选项然后我有一堆for和elese's,如果他们输入某个短语会发生什么,例如。
if(choice.equals("Fight")) {
//Grab code from fight.java/fight.class
}
else
{
if(choice.equals("Train")) {
//Grab code from train.java/train.class
}
else
等等另外两个可能的输入。我只需要知道如何调用外部代码,这样就不会太杂乱。
答案 0 :(得分:1)
您应该创建这些类的对象。
例如:
if(choice.equals("Fight")) {
//Grab code from fight.java/fight.class
fight f = new fight();
f.foo(); // A method
}else{
if(choice.equals("Train")) {
//Grab code from train.java/train.class
train t = new train();
t.foo(); // A method
}
//...
}
或者您可以尝试这样的静态方法:
public class train{
public static void foo(){
//...
}
}
然后你可以使用它。
if(bool_expression){
train.foo(); // foo is a static method
}
答案 1 :(得分:1)
我建议使用switch语句,而不是使用for else结构。这看起来像是:
switch(choice){
case"fight":
Fight.kickHard();
break;
case"train":
Train.run();
break;
default:
Program.learn();
}
使用开关时不要忘记break语句。在我的例子中,我使用了类中的静态方法。通过进一步研究面向对象的设计,您可能会得到很好的服务,看看您是否能够为您的特定问题提供更简化的答案。需要使用import语句导入其他类。您将需要查看IDE为您执行此操作的快捷方式,但这是一个相当基本的语句,例如import my.package.Train;等
答案 2 :(得分:0)
如果您尝试调用静态方法,则执行以下操作非常简单。
train.doStuff();
如果方法属于某个对象,则首先必须实例化一个对象以访问其上的任何方法。
Train train = new Train();
train.doStuff();
注意:IDE会自动为您链接课程。否则,您必须首先通过添加“import somepackage.someclass ”来手动导入这些类。
答案 3 :(得分:0)
首先关注你编程可以做的不同事情。将该代码放在一个名称表明其意图的方法中:
private static void doWork(){
System.out.println("Working");
}
private static void play(){
System.out.println("Playing");
}
private static void sing(){
System.out.println("Singing");
}
现在,您需要将这些绑定到用户的短语(假设Java 7):
switch(choice){
case: "work"
doWork();
break;
case: "play"
play();
break;
case: "sing"
sing();
break;
default:
System.out.println("Unknown choice");
}