所以我一直在试着理解如何调用数组中对象的方法。这项功课的要点是从头开始创建一个类似的界面,一个名为“武器”的抽象类,一个名为“Drawable”的界面,一个扩展武器的几个类,以及一个创建一个带有数组的太空船的“太空飞船”类。武器对象。
以下是“太空船”类的代码。第40行出现错误“not a statement”.fireFastestWeapon方法的目的是根据每个对象的fire time对对象数组进行排序,然后为前n个武器激活fire方法。
public class Spaceship implements Drawable
{
private Weapon [] mountedWeapons = new weapon[4];
private int curWeapon = 0;
public void draw()
{
System.out.print("Ship will be drawn here");
}
public void addWeapon(Weapon w)
{
if (curWeapon<mountedWeapons.length)
{
mountedWeapons [curWeapon] = w;
curWeapon++;
}
else System.out.print("The weapons bay is full Commander");
}
public void fireFastestWeapon(int n)
{
int count=mountedWeapons.length;
int k;
for (int m = count; m>=0;m--)
{
for(int i = 0; i<count-1;i++)
{
k=i+1;
if (mountedWeapons[i].compareTo(mountedWeapons[k]) == 1){
Weapon temp;
temp = mountedWeapons[i];
mountedWeapons[i] = mountedWeapons[k];
mountedWeapons[k] = temp;
}
}
}
if(n>mountedWeapons.length)
{
n=mountedWeapons.length;
}
for (f=0;f<n-1;n++)
{
mountedWeapon[f].fire;
}
}
}
谢谢你的期待!
答案 0 :(得分:1)
方法调用中的括号在Java中不是可选的:
mountedWeapon[f].fire();