1

さて、私は Java の初心者であり、プログラミングの経験もありません。私は Java チュートリアルを進めていますが、チュートリアルの「オブジェクト」セクションで問題が発生するまで、すべてが順調に進んでいます。

プログラムのタイトルは Create Object Demo です。目標は、1 つの長方形の幅、高さ、面積、および別の長方形の新しい位置を見つけることです。「オブジェクトを作成する」という前提を使用して、これらすべてを行います。オブジェクト部分の作成が問題です。

元のコードは次のとおりです。

public class CreateObjectDemo {

public static void main(String[] args) {

    // Declare and create a point object and two rectangle objects.
    Point originOne = new Point(23, 94);
    Rectangle rectOne = new Rectangle(originOne, 100, 200);
    Rectangle rectTwo = new Rectangle(50, 100);

    // display rectOne's width, height, and area
    System.out.println("Width of rectOne: " + rectOne.width);
    System.out.println("Height of rectOne: " + rectOne.height);
    System.out.println("Area of rectOne: " + rectOne.getArea());

    // set rectTwo's position
    rectTwo.origin = originOne;

    // display rectTwo's position
    System.out.println("X Position of rectTwo: " + rectTwo.origin.x);
    System.out.println("Y Position of rectTwo: " + rectTwo.origin.y);

    // move rectTwo and display its new position
    rectTwo.move(40, 72);
    System.out.println("X Position of rectTwo: " + rectTwo.origin.x);
    System.out.println("Y Position of rectTwo: " + rectTwo.origin.y);
}
}

プログラムを実行すると、次のエラー メッセージが表示されます。

CreateObjectDemo:.java:6: error: cannot find symbol
       Point originOne = new Point(23, 94);
       ^ 

symbol: class Point
location: class CreateObjectDemo
CreatObjectDemo.java:6: error: cannot find symbol
    Point originOne = new Point(23, 94);
                          ^

完全なコードとプロセスもここにあります

同様に、エラー メッセージは、同じ方法で "Point" と "Rectangle" という単語を指しており、"シンボルが見つからない" と主張しています。

どんな助けでも大歓迎です。私はこのエラーに数日間苦労しています。ありがとう。

4

4 に答える 4

3

Pointクラスと クラスをインポートする必要がありRectangleます。次の 2 行をクラスの先頭の行の後に追加しますpackage

import java.awt.Point;
import java.awt.Rectangle;

Eclipse を使用している場合は、単に do を実行CtrlShiftOすると、必要なクラスがインポートされます。

于 2013-07-29T01:25:07.057 に答える
1

Roddy が示唆するように、あなたがフォローしているチュートリアルにクラスPointとクラスをダウンロードして含める必要があります。Rectangleこれらのクラスを自分と同じディレクトリに配置すると、CreateObjectDemoインポート ステートメントは必要ありません。

まさに何が起こっているかというと、コンパイラは Java ソース コードを JVM (Java 仮想マシン) が解釈できるバイト コードに変換しようとしています。コードをコンパイルするには、すべてのクラスが見つかる必要があります。PointおよびRectangleクラスが見つからないため、コードをコンパイルできません。このため 、クラスPointとクラスのRectangle依存関係と呼ばれます。それらなしでは機能しません。 と に依存しています。CreateObjectDemoCreateObjectDemoPointRectangle

これを修正するのは簡単です。あなたのクラスがとクラスがCreateObjectDemoどこにあるかを知っていることを確認してください。PointRectangle

于 2013-07-29T01:30:04.047 に答える
0

CreateObject デモの場合、デモと同じディレクトリに配置する必要があるチュートリアルには、Point クラスと Rectangle クラスの 2 つのクラスがあります。それらは、デモのコードから数段落下に記述されています。

したがって、netbeans と eclipse では、CreateObjectDemo.java と同じディレクトリに配置します。

したがって、netbeans では、File->New File->Java->Java Class->Class Name: Point などに移動します。

何もインポートする必要はありません。

お役に立てれば。

于 2013-09-04T05:07:10.537 に答える