2016-12-04 21 views
0

私はいくつかの異なる投稿を検索しましたが、私が抱えている正確な問題は見つかりませんでした。私は何が欠けているかは非常に明白でなければならないと思うが、何らかの理由でそれをピン留めすることはできないが、すべてで遊んでいるが、それを得ることはできない。誰かが私に手を差し伸べることができれば、大いに感謝します。このプログラムは、テキストファイルからハウス情報を取り出して出力するものです。 JMUnit7ファイルはインストラクターから私たちに与えられました。 JMUnit7Houseファイルは私の仕事です。前もって感謝します。 .setCity.setState.setZipCode.print: - :スレッドの例外「メイン」java.lang.RuntimeException:誤ったSYMタイプ互換性のないソースコードイム取得している誤ったSYMタイプエラーを次のように私のコードがある誤ったsym型

package jmunit7; 
    import java.util.Scanner; 
    import java.io.File; 
    import java.io.IOException; 
    /** 
    * 
    * @author Xephus 
    */ 
public class JMUnit7 { 

    /** 
    * @param args the command line arguments 
    * @throws java.lang.Exception 
    */ 
    public static void main(String[] args) throws Exception 
    { 
    Scanner stdIn = new Scanner(System.in); 
    Scanner stdInFile = new Scanner(new 
    File("JMUnit7House.txt")); 
    JMUnit7House house1, house2; //New houses 

    //Create house 1 using default constructor 
    house1 = new JMUnit7House(); 
    house1.print(); //print house 1 with default values 

    String street, city, state, zipCode; 
    int number; 

    System.out.println("Importing Number."); 
    number = stdInFile.nextInt(); 
    stdInFile.nextLine(); 
    System.out.println("Importing Street."); 
    street = stdInFile.nextLine(); 
    System.out.println("Importing City."); 
    city = stdInFile.nextLine(); 
    System.out.println("Importing State."); 
    state = stdInFile.nextLine(); 
    System.out.println("Importing ZipCode."); 
    zipCode = stdInFile.nextLine(); 
    System.out.println(); 

    //use method call chaining to set values 
    //and print results for house 1 
    house1.setNumber(number).setStreet(street) 
      .setCity(city).setState(state) 
      .setZipCode(zipCode).print(); 

    System.out.println("Importing Number."); 
    number = stdInFile.nextInt(); 
    stdInFile.nextLine(); 
    System.out.println("Importing Street."); 
    street = stdInFile.nextLine(); 
    System.out.println("Importing City."); 
    city = stdInFile.nextLine(); 
    System.out.println("Importing State."); 
    state = stdInFile.nextLine(); 
    System.out.println("Importing ZipCode."); 
    zipCode = stdInFile.nextLine(); 
    System.out.println(); 

    //create house 2 using 5 parameter constructor 
    house2 = new JMUnit7House(number, 
    street, city, state, zipCode); 
    //print house 2 
    house2.print(); 
    } 
} 

jmunit7.JMUnit7.main(JMUnit7.java:49)49はhouse1.setNumber行です。

public class JMUnit7House { 
private int number; 
private String street; 
private String city; 
private String state; 
private String zipCode; 

public JMUnit7House() 
{ 
    number = 0; 
    street = "No Street"; 
    city = "No City"; 
    state= "No State"; 
    zipCode = "No Zip Code"; 
    } 
    //intializes house with arguments 
    public JMUnit7House(int number, String street, String city, String state,    String zipCode) 
    { 
    this.number = number; 
    this.street = street; 
    this.city = city; 
    this.state = state; 
    this.zipCode = zipCode; 
    } 
    public int setNumber(int number) 
    { 
    return number; 
    } 
public String setStreet(String street) 
{ 
    return street; 
} 
public String setCity(String city) 
{ 
    return city; 
} 
public String setState(String state) 
{ 
    return state; 
} 
public String setZipCode(String zipCode) 
{ 
    return zipCode; 
} 

    //function to print 
    public void print() 
{ 
    String info=String.format("House: %d\n", number); 
    info += String.format("Street: %s\n", street); 
    info += String.format("City: %s\n", city); 
    info += String.format("State: %s\n", state); 
    info += String.format("Zip: %s\n", zipCode); 
    System.out.println(info); 
    } 
} 
+0

なるすべてのコードのエラーとIDEのその行のコードのエラーがintで – GurV

+0

プロジェクトがdereferancedすることはできません再構築されます。 –

+0

コードのどの行に正確に? – GurV

答えて

0

わかりました。以下では:以来

house1.setNumber(number).setStreet(street) 
      .setCity(city).setState(state) 
      .setZipCode(zipCode).print(); 

setNumber()intを返し、あなたはその上setStreet()を呼んでいる、それが動作しません。

上記の方法で電話をかけたい場合は、代わりにthisオブジェクトを必要な方法で返します。例えばのために:

public int setNumber(int number) 
    { 
    //do something 
    return number; 
    } 

は、IDEを使用している場合は、クリーン

public JMUnit7House setNumber(int number) 
    { 
    //do something 
    return this; 
    } 
+0

何らかの理由で最初の家を空の家として印刷するのではなく、2番目の家が期待どおりに表示している.txtファイルから変数を割り当てる代わりに別の問題が発生します。 –