2017-04-06 4 views
0

このコードの実行に問題があります。他のクラスの入力を使用して、以下の文字列を出力するプログラムを取得しようとしています。あなたが見ることができるように、新しい花嫁と場所のオブジェクトに入れて情報結婚式のオブジェクトにして置かれているし、私は試してみて、結婚式のオブジェクトから詳細を取得し、そのように画面に表示する必要があります。メソッド間のJavaオブジェクトスコープ

Wedding data:
Bride: Amy Cronos, age: 29
Location: South Rd, suburb: Tonsley

は私ではなく、4つの同一のエラーが

Main.java:6: error: cannot find symbol System.out.println("Location"+place.getStreet()+", suburb:
"+place.getsuburb());

symbol: variable place

location: class Main

は、私は、これはスコープとは何かを持っているかなり確信していると言うなどなどplace.getName、place.getSuburb()に関連すると会っています私は何をする必要があるのか​​分からない。

このエラーの原因とは何ですか?どのように修正しますか?

public class WeddingDetails { 

    public static void main(String[] args) { 

     Bride person = new Bride("Amy Cronos", 29); 
     Location place = new Location("Tonsley", "South Rd"); 
     Wedding wed = new Wedding(person, place); 
     show(wed); 
    } 

    public static void show(Wedding wed) { 
     System.out.println("Wedding data:"); 
     System.out.println("Bride: " + person.getName() + ", age: " + person.getAge()); 
     System.out.println("Location: " + place.getStreet() + ", suburb: " + place.getSuburb()); 

    } 

    public static class Location { 

     private String suburb; 
     private String street; 

     Location(String suburb, String street) { 
      this.suburb = suburb; 
      this.street = street; 
     } 

     public String getSuburb() { 
      return suburb; 
     } 

     public String getStreet() { 
      return street; 
     } 
    } 

    public static class Bride { 

     private String name; 
     private int age; 

     Bride(String name, int age) { 
      this.name = name; 
      this.age = age; 
     } 

     public String getName() { 
      return name; 
     } 

     public int getAge() { 
      return age; 
     } 

    } 

    public static class Wedding { 

     private Bride person; 
     private Location place; 

     Wedding(Bride person, Location place) { 
      this.person = person; 
      this.place = place; 

     } 

     public Bride getBride() { 
      return person; 
     } 

     public Location getPlace() { 
      return place; 
     } 
    } 
} 
+2

へようこそSO残念ながら、あなたの質問にはいくつかの問題があります。。タイトルは、質問とは何の関係もありません。それはあなたの質問が本当に何であるかは不明だ。あなたを持ってる SOの適切な内容ではない基本的な構文エラーです。私はあなたが質問を削除することをお勧めします、質問をする方法についてのドキュメントを読んで、もう一度やり直してください。 – sprinter

+0

あなたのshow()メソッドで 'person'にアクセスしようとしていて、mainで宣言されています。最初に 'wed'から' Bride'を手に入れてみてください。 – jmw5598

答えて

0

ここでの問題は、あなたのprintln文がオブジェクト内のメソッドにアクセスしようとしますが、間違ったオブジェクト上でこれらのメソッドを呼び出すことによってされている。ここでは

コードがあります。ウェディングクラスのgetters(getBride()とgetPlace())を使用して、BrideオブジェクトとLocationオブジェクトにアクセスする必要があります。 。

注:1つのクラス内のすべてのコードをコンパイルできるように、私はstaticキーワードをBride、Location、Weddingクラスの宣言に追加しましたが、staticとコピーして、.javaファイルに戻す各クラスを貼り付ける

public class WeddingDetails { 

    public static void main(String[] args) { 

     Bride person = new Bride("Amy Cronos", 29); 
     Location place = new Location("Tonsley", "South Rd"); 
     Wedding wed = new Wedding(person, place); 
     show(wed); 
    } 

    public static void show(Wedding wed) { 
     System.out.println("Wedding data:"); 
     System.out.println("Bride: " + wed.getBride().getName() + ", age: " + wed.getBride().getAge()); 
     System.out.println("Location: " + wed.getPlace().getStreet() + ", suburb: " + wed.getPlace().getSuburb()); 

    } 

    public static class Location { 

     private String suburb; 
     private String street; 

     Location(String suburb, String street) { 
      this.suburb = suburb; 
      this.street = street; 
     } 

     public String getSuburb() { 
      return suburb; 
     } 

     public String getStreet() { 
      return street; 
     } 
    } 

    public static class Bride { 

     private String name; 
     private int age; 

     Bride(String name, int age) { 
      this.name = name; 
      this.age = age; 
     } 

     public String getName() { 
      return name; 
     } 

     public int getAge() { 
      return age; 
     } 

    } 

    public static class Wedding { 

     private Bride person; 
     private Location place; 

     Wedding(Bride person, Location place) { 
      this.person = person; 
      this.place = place; 

     } 

     public Bride getBride() { 
      return person; 
     } 

     public Location getPlace() { 
      return place; 
     } 
    } 
} 
+0

おかげさまでヒルズブルックス、それが問題だった、チャンピオン! – Cloppy

関連する問題