1

昨日、Oracle サイトから Java チュートリアルの学習を開始しましたが、最初のプログラム (Bicycle :) に問題があります。私は 1 つのクラス ( class Bicycle) のみでプロジェクトを作成し、新しいプロジェクトを開き、2 つのBicycleオブジェクトを作成してそれらのメソッドを呼び出すクラスを作成しました。プロジェクトをビルドしようとすると、次のエラー メッセージが表示されます。

"error: cannot find symbol Bicycle bike1=new Bicycle(); symbol: class Bicycle location: class BicycleDemo".

ライブラリを右クリックしてプロジェクトを追加しようとしましたが、機能しませんでした。現在のプロジェクトに新しいクラスを作成しようとしました(同じ内容で)-機能しませんでした。何をすべきか?

package bicycledemo;
/**
*
* App witch simulates using of Bicyle class.
*/
public class BicycleDemo {
import Bicycle;  
public static void main(String[] args) {
    Bicycle bike1=new Bicycle();
    Bicycle bike2=new Bicycle();

    bike1.changeCadence(34);
    bike1.increaseSpeed(3);
    bike1.changeGear(2);
    bike1.printStates();

    bike2.changeCadence(3);
    bike2.increseSpeed(12);
    bike2.printStates();
}
}

また、プロジェクト BicycleDemo のライブラリに C:\Users\nojo\Documents\NetBeansProjects\Bicycle ファイル全体もあります。Bicycle.java のコード:

public class Bicycle {
int cadence=0;
int speed=0;
int gear=1;

void changeCadence(int newValue){
cadence=newValue;
}
void increaseSpeed(int increase){
speed=speed+increase;
}
void applyBreaks(int decrease){
speed=speed-decrease;
}
void changeGear(int gearNumber){
gear=gearNumber;
}
void printStates(){
System.out.println("cadence:" + cadence + "speed:" + speed +
        "gear:" + gear);
}
}
4

1 に答える 1

2

インポートステートメントが間違った場所にあるようです。パッケージ名の下で、clas定義の先頭の前にある必要があります。

package bicycledemo;
import <yourpackagename>.Bicycle;

これは、現在bike1を宣言している場合に実行できますが、宣言するときはパッケージ名とクラス名を使用する必要があります。

<yourpackagename>.Bicycle bike1 = new Bicycle();

あなたが読んでいるのは、オブジェクト指向プログラミングの「概念」に関するチュートリアルであり、詳細なチュートリアルではありません。パッケージについては、チュートリアルでさらに説明されています。

あなたの問題はおそらくあなたが2つのプロジェクトを作ったことです。1つは自転車のクラスがあり、もう1つはbicycledemoのクラスがありますよね?それが正しければ、両方のプロジェクトで、クラスはデフォルトのパッケージに含まれていますが、これは悪いことです。問題を解決するには、同じプロジェクトに両方のクラスを含む新しいプロジェクトを作成します。

于 2012-05-16T19:38:11.137 に答える