2
class box {
  double ht,wdt,len;

  box(double h,double w,double l) {
    ht=h;
    wdt=w;
    len=l;
  }

  double volume() {
    return ht*wdt*len;
  }
}


class boxme {
  public static void main(String args[]) {
    box mybox= new box(1,2,3);
    System.out.print("The volume is "+mybox.volume());
  }
}

// このコードを bluej で実行するには、オブジェクトの作成後に引数を指定する必要があります (ただし、コードでは既に引数を指定しています)。同じコードは cmd でうまく機能しますが、bluej で試行するとこの違いが示されます。 bluejとcmdの同等性を引き出す理由と解決策を教えてください?? ///

4

2 に答える 2

1

2つの異なるクラスがあり、他のクラスのメソッドを使用する場合は、そのクラスのインスタンスを作成する必要があります。

2番目のクラスを右クリックして、public static void main(String args[])関数を実行します。

また、クラスの名前は大文字で始まる必要があり、フィールドはprivateセキュリティのためにスコープが設定されている必要があります。オブジェクトは常に小文字である必要があります。

public class Box {   
  private double ht,wdt,len;

  public Box(double h,double w,double l) {
    ht=h;
    wdt=w;
    len=l;
  }

  public double volume() {
    return ht*wdt*len;
  }
}
public class boxme {
  public static void main(String args[]) {
    Box mybox= new Box(1,2,3);
    System.out.print("The volume is "+mybox.volume());
  }
}
于 2013-03-06T20:58:28.120 に答える
0

main 関数が既に定義されているため、BlueJ で明示的に実行するときにオブジェクトを作成する必要はありません。

クラスを右クリックし、public static void main(String args[]) 関数を実行します。

于 2012-04-14T18:54:00.887 に答える