2012-03-16 23 views
0

ここで私が再でした新しいコーディングだ:エラー:シンボルが見つかりません(座標)

ThreeDPoint.java

public class ThreeDPoint{ 

private double x, y, z; 

public threeDPoint(){ 
    coordX=0; 
    coordY=0; 
    coordZ=0; 
} 

public threeDPoint(double x, double y, double z){ 
    coordX = x; 
    coordY = y; 
    coordZ = z; 
} 

public double getCoord(double x, double y, double z){ 
    return coordX; 
    return coordY; 
    return coordZ; 
} 

}

Main.java

import java.util.Scanner; 

パブリッククラスMain {

ビルド出力: C:

}

それは私にこれらのエラーました\ユーザー\ BurneySooドキュメントMain.java \ \:8:エラー:(シンボル threeDPoint myThreeDPoint =新しいthreeDPointを見つけることができませんが)。 ^ シンボル:クラス 場所threeDPoint:8:エラー:ドキュメントMain.javaを\ \ \ Users \ユーザーBurneySoo:クラスメイン C)は(シンボル threeDPoint myThreeDPoint =新しいthreeDPointを見つけることができません。 ^ シンボル:クラスthreeDPoint 場所:クラスメイン 2エラー

汎用出力: エラー:検索または私が間違っているのは何

メインメインクラスをロードできませんでしたか?


コードGagandeepにはありがとうございます。どういうわけか私はそれらを試しましたが、それは以前のものよりも多くのエラーを出しました。

C:\ Users \ BurneySoo \ Documents \ ThreeDPoint.java:5:エラー:無効なメソッド宣言。戻り値の型が必要です。

public threeDPoint(){ 
    ^

C:\ Users \ BurneySoo \ Documents \ ThreeDPoint.java:11:エラー:無効なメソッド宣言。戻り値の型は

public threeDPoint(double x, double y, double z){ 
    ^

C必要:14::\ユーザーはBurneySoo \ドキュメント\をMain.javaを\エラー:シンボルを見つけられません

myTreeDPoint.coordX(sc.nextLine()); 
^ 

シンボル:変数myTreeDPoint 場所:クラスメイン

C:\ Users \ BurneySoo \ Documents \ Main.java:17:エラー:シンボルが見つかりません

シンボル:変数myTreeDPoint 場所:クラスMain

C:\ Users \ BurneySoo \ Documents \ MainJavaの:20:エラー:変数myTreeDPoint 場所:クラスメイン

C:22::\ユーザーはMain.java \ BurneySoo \ドキュメント\エラー:非静的変数シンボル

myTreeDPoint.coordZ(sc.nextLine()); 
^ 

シンボルを見つけることができませんcoordYは、静的文脈から

myThreeDPoint.setCoord(coordX, coordY, coordZ); 
          ^

Cを参照することはできません:エラー:22:ドキュメントMain.javaを\ \ユーザー\ \ BurneySoo非静的変数coordZが静的コンテキストから参照することができない

myThreeDPoint.setCoord(coordX, coordY, coordZ); 
            ^

C:\ Users \ BurneySoo \ Documents \ Main.java:22:エラー:ThreeDPointクラスのメソッドsetCoordは、指定された型には適用できません。

myThreeDPoint.setCoord(coordX, coordY, coordZ); 
      ^

必要:ダブル、ダブル、ダブル が見つかりました:文字列、ダブル、ダブル 理由:実引数の文字列は、メソッド呼び出し変換によって

C doubleに変換することができません:\ユーザー\ BurneySooドキュメント\ \ ThreeDPoint.java:6:エラー:シンボルを見つけられません

coordX=0; 
    ^

シンボル:変数coordX 場所:クラスThreeDPoint

C:\ Users \ユーザーBurneySoo \ドキュメント\ ThreeDPoint.java:7:エラー:変数coordY 場所:クラスThreeDPoint

C:\ Users \ユーザーBurneySooドキュメント\シンボルに

coordY=0; 
    ^

シンボルを見つけることができません\ ThreeDPoint.java:8:エラー:変数coordZ 場所:クラスThreeDPoint

シンボルに

coordZ=0; 
    ^

シンボルを見つけることができません

C:\ Users \ユーザーBurneySooドキュメント\ \ ThreeDPoint.java:12:エラー:シンボルに

coordX = x; 
    ^

シンボルを見つけることができません:変数coordX 場所:クラスThreeDPoint

C:\ Users \ユーザーBurneySooドキュメント\ \ ThreeDPoint.java:13:エラー:変数coordY 場所:クラスThreeDPoint

シンボルに

coordY = y; 
    ^

シンボルを見つけることができません

C:\ Users \ユーザーBurneySoo \ドキュメント\ ThreeDPoint.java:14:エラー:変数coordZ 場所:シンボルに

coordZ = z; 
    ^

シンボル見つけることができないクラスをThreeDPoint

14のエラー

し、それをそれでも私は一般的な出力で座標Xを入力するように求めません。 それは私だけを与えた:

エラー:メインクラスメインを見つけるか、ロードできませんでした

+0

はあなたがメインで取得値にcoordXを設定しようとしていますか? – Lucas

+0

Javaの命名規則を学んでください。クラス名はパスカルの場合、つまり最初の文字は大文字にする必要があります。その後のすべての単語は大文字のアルファベットで始まり、変数名はキャメルケースにする必要があります。次の単語が大文字に変換されます:-) –

+0

ルーカス:はい。 Main.javaは座標を入力する場所になります。 – burneyjsoo

答えて

0

問題ここでは、あなたがメソッドを呼び出ししようとしている、コンストラクタを呼び出していないことです。

threeDPointクラスのコンストラクタを作成し、セッタを使用してフィールドcoordXを設定します。電話することはできません

threeDPoint myThreeDPoint=new coordX(); 

これはコンストラクタではなくメソッドであるためです。何が欲しいのは、コンストラクタそうのようなあなたのthreeDPointクラスである:データ隠蔽の問題として、delcareすることを確認し、また

public void setCoordx(double coordx){ 
this.coordx = coordx} 

のようなあなたのCOORDSを設定し、その後

public threeDPoint(args){ 
//dostuff 
} 

とセッターあなたプライベートまたは保護されたフィールド。

protected double coordX; 
0

あなたは今myThreeDPoint.coordX(11.11);

はこれにあなたのThreeDPointクラスを変更して、あなたのメソッドにアクセスする必要があり、このオブジェクトを使用して、オブジェクトを作るためにあなたの主なメソッド内

threeDPoint myThreeDPoint=new threeDPoint("Send Arguments Here"); 

を記述する必要があります:

public class ThreeDPoint 
{ 
    private double x, y, z; 

    public ThreeDPoint() 
    { 
     this.x = 0; 
     this.y = 0; 
     this.z = 0; 
    } 

    public ThreeDPoint(double x, double y, double z) 
    { 
     this.x = x; 
     this.y = y; 
     this.z = z; 
    } 

    public double getCoordX() 
    { 
     return this.x; 
    } 

    public double getCoordY() 
    { 
     return this.y; 
    } 

    public double getCoordZ() 
    { 
     return this.z; 
    } 
} 

今度はこのクラスのオブジェクトを

ThreeDPoint myThreeDPoint = new ThreeDPoint(); 

だからあなたのメイン・クラスは次のようになります。

import java.util.Scanner; 
public class Main 
{ 
    double coordX, coordY, coordZ; 

    public static void main(String[] args) 
    { 
     ThreeDPoint myThreeDPoint = new ThreeDPoint(); 

     Scanner sc=new Scanner(System.in); 
     String coordX, coordY, coordZ; 

     System.out.println("Input Coordinate X"); 
     coordX = sc.nextDouble(); 

     System.out.println("Input Coordinate Y"); 
     coordY = sc.nextDouble(); 

     System.out.println("Input Coordinate Z"); 
     coordZ = sc.nextDouble(); 

     // This will initialize your Constructor with Arguments. 
     ThreeDPoint myThreeDPointArgConst = new ThreeDPoint(coordX, coordY, coordZ); 

     coordX = myThreeDPointArgConst.getCoordX(); 
     System.out.println("Co-ordinate X is : " + coordX); 

     coordY = myThreeDPointArgConst.getCoordY(); 
     System.out.println("Co-ordinate Y is : " + coordY); 

     coordZ = myThreeDPointArgConst.getCoordZ(); 
     System.out.println("Co-ordinate Z is : " + coordZ);   

     // This will initialize the no-arg constructor. 
     ThreeDPoint myThreeDPoint = new ThreeDPoint(); 

     coordX = myThreeDPoint.getCoordX(); 
     System.out.println("Co-ordinate X is : " + coordX); 

     coordY = myThreeDPoint.getCoordY(); 
     System.out.println("Co-ordinate Y is : " + coordY); 

     coordZ = myThreeDPoint.getCoordZ(); 
     System.out.println("Co-ordinate Z is : " + coordZ);   
    } 
} 
+0

私は、上記の最新のコードを古いコードの下に更新しました。私はまだエラーがあり、それは私に座標xをもう入力させません。代わりに、それは私の代わりにエラーゲーム。私は間違って何をしていますか? – burneyjsoo

+0

あなたのクラス 'ThreeDPoint'の名前を' Pascal Case'に変更しましたが、 'constructors'の名前を忘れてしまった、' threeDPoint'のようなものなので、コンストラクタを参照していないので、 'public ThreeDPoint(){ coordX = 0; coordY = 0; ; coordZ = 0; } ' –

関連する問題