2016-05-22 18 views
-4

私の割り当ては、プログラムのいくつかのメソッドを作成することです。私はこれらの2つに最も固執しているようだ。使用する必要がある場合のn else文 名:setZipCode 引数:1 INT 戻り:ブールIF-Else Javaの割り当て

、それが何をするか:アドレス郵便番号とその引数を格納し、次のように

仕様があります。 郵便番号が90000〜92000の数値ではない場合( ロサンゼルスの郵便番号の範囲)はfalseを返し、それ以外の場合はtrueを返します。私はこのコードを実行すると

public int setZipCode(int zipCode){ //argument has to be type int zipCode and this method has to return a boolean 
    if(zipCode >90000 && zipCode <92000){ //zipCode is between 90000 and 92000 
     return true; 
    }else{ 
     return false; 
    } 
    public int getZipCode(){//no argument 
     return zipCode; //returns type int and return the value of the address zipcode 
    } 
} 

名:getZipCode 引数:なし戻ります :それは何 をint型には:郵便番号、これまで

私のコードアドレスの値を返します。バイナリ演算子に不正なオペランドの型を与えます。 互換性のない型:予期しない戻り値。

私はint zipCodeを宣言しています。私はブール値とintを一緒に扱う方法を理解していません。

誰かが私に何か助けてもらえれば、私が間違っていることについて、とても感謝してありがとう。

あなたが私に与えられたアドバイスに基づいて変更を加えましたが、現在コンパイルされていますが、何らかの理由でまだコマンドプロンプトでgetZipCodeとsetZipCodeが失敗しています。 実際のジップ:0 期待ジップ:2

public int getZipCode(){ 
     return zipCode; 
    } 
    public boolean setZipCode(int zipCode) { 
     if(zipCode >90000 && zipCode <92000){ 
     this.zipCode = zipCode; 
     return true; 
     } 
     else{ 
     return false; 
     } 

    } 
} 
+1

'public boolean setZipCode(int zipCode)' – Tibrogargan

+0

'setZipCode'という関数については、実際には何も設定されていません。また、中括弧 '{}'を数え、 'getZipCode'がどこに定義されているか考えてみてください。 –

答えて

2

あなたが書いたように、setZipCodeはブール値を返す必要があり、そしてその名の通り、おそらく、郵便番号を設定する必要があります。

public boolean setZipCode(int zipCode) { 
    if(zipCode >90000 && zipCode <92000){ 
     this.zipCode = zipCode; 
     return true; 
    }else{ 
     return false; 
    } 
} 

それに加えて、あなたはsetZipCode()の身体の外にあなたのgetZipCode()方法を移動する必要があります。

public int getZipCode() { 
    return zipCode; 
} 
0

あなたのコードはsetZipCodeを持っていますintとして宣言されていますが、ブール値を返しています(trueまたはfalse)。ブール値としてsetZipCodeをデクリメントします。

0

私はあなたの問題はあなたの方法の符号にあると思う:

public int setZipCode(int zipCode){...} 

真/偽(あなたはあなたのメソッドがintを返すことを言っているが、コードの上に、あなたがブール値を返すようにしようとしています)。この問題を解決するには

あなたはとしてあなたの方法を更新する必要があります。

public boolean setZipCode(int zipCode) { 
if(zipCode >90000 && zipCode <92000){ //zipCode is between 90000 and 92000 
    return true; 
}else{ 
    return false; 
} 
} 

また、私はあなたがsetZipCode方法とgetZipCode方法の間中括弧を逃したと思います。

0

setZipCodeメソッドの戻り値の型は、ブール値を返すようにブール値である必要があります。ここでは1行のコードは、あなたがやるべきことをスニペットです:

public boolean setZipCode(int zipCode){ 
    return zipCode > 90000 && zipCode < 92000; 
} 
1

は、これは可能な解決策

public class Address { 
    private int zipCode; 
    public boolean setZipCode(int zipCode){ 
     this.zipCode = zipCode; 
     return zipCode > 90000 && zipCode < 92000; 
    } 
} 

であるが、setZipCodeは、2つのジョブがある、ということに注意してください:設定

  • を郵便番号
  • 郵便番号の確認

だから、おそらくそれらを分割する必要があります。また、booleanエラーコード(see here