2016-10-20 5 views
0

私は1つを追加し、1つを減算する方法を持つべきカウンターコードを持っています。私は、コードが0未満になることはないことを確認する必要があります。私はカウンター> = 0プラグどこかに考えています。それとも私のドライバファイルにあるはずですか?とにかくここにコードがあります。最初のスニペットは、「肯定的でなければならない」との声明が置かれるべきだと私が思うところです。私のクラスが正のままであることを確認してください

この部分にあるはずですか?

public void minusOne(int count) 
     { 
      one -= count; 
     } 

全体コード:oneが負になる場合

public class Counter 
{ 
    private int count; 
    private int one = 1; 
    public Counter() 
    { 
      count = 0; 
    } 

     public void addOne(int count) 
    { 
     one += count; 

    } 

     public void minusOne(int count) 
    { 
     one -= count; 
    } 

     public void setCounter(int count) 
    { 
     this.count = count; 
    } 
     public int getCounter() 
    { 
     return count; 
    } 


} 
+0

なぜあなたはone' 'の値を変更しているようにそれを設定したいされていることを確認する必要がありますか? – ajb

答えて

0

だから、あなたのクラスの最初に1つのだけのフィールドを必要とするバックzero

public void minusOne(int count) 
    { 
     one -= count; 
     if (one < 0) 
      one = 0; 
    } 
+0

それは理にかなっています!お手伝いありがとう。 – Eric

+0

この回答が有用な場合は、受け入れるか、またはupvoteすることを検討してください –

+0

回答を受け入れるにはどうすればよいですか?私はこのコミュニティに新しいです。また、あなたの答えが働いている間、私はこれがこのコードの方が良いかもしれないと考えていました。 – Eric

0
public class Counter { 
    private int count; 

    public Counter() { 
     count = 0; 
    } 

    public void addOne() { 
     count++; 
    } 

    public void minusOne() { 
     if(count > 0) { 
      count--; 
     } 
    } 

    public void setCount(int count) { 
     if(count >= 0) { 
      this.count = count; 
     } else { 
      this.count = 0; 
     } 
    } 

    public int getCount() { 
     return count; 
    } 
} 
  1. にそれを設定し、このクラスのカウントを記録します。
  2. addOneメソッドは、カウントを1だけインクリメントする必要があります.1を保持するフィールドは必要ありません。minusOneメソッドで
  3. を調べるには、現在のカウントが> 0であることを確認する必要があります。
  4. setCount方法は、それが渡されたカウントが> = 0それ以外の場合は、我々は0
+0

私はまたif文を変更してif(count> 0){count - = 1; }。 – Eric

+0

それも動作します。それは同じ目的を果たします。 –

関連する問題