4

こんにちは私は配列リストを使用するアプリケーションを作成しています(実際のアプリではなく練習目的)。配列リストにオブジェクトが含まれていない場合にのみ、数学の答えを与えるメソッドを作成しました。何らかの理由で、if/else構造で常にelseが表示されます。

配列リストにオブジェクトが含まれているかどうかを確認する方法は次のとおりです

public void sluitRegistratie() {

    aantalBezoekers = bezoeker.size();

    if(!(aantalBezoekers >= 0)) {

        String str = "Gemiddelde tijd bezoekers: " + (gesommeerdeTijd / aantalBezoekers);

        JOptionPane.showMessageDialog(null, str);
    }
    else {
        JOptionPane.showMessageDialog(null, "Bezoekers zijn nog niet weg");
    }

}
4

6 に答える 6

9

ArrayListには、arraylistが空の場合にisEmpty()返されるメソッドがあり、それ以外の場合は返されます。だからあなたが望むように見えますtruefalseif(bezoeker.isEmpty())...

于 2012-12-11T21:10:14.460 に答える
3

ArrayListのサイズが負になることはないため、!size()>=0のチェックが真になることはありません。size()==0かどうかを確認してください。

于 2012-12-11T21:09:26.113 に答える
3
if(!(aantalBezoekers >= 0))

と同じです:

if(aantalBezoekers < 0)

つまり、長さがゼロ未満の場合、これは発生しません。

于 2012-12-11T21:09:40.870 に答える
1

は最小で0個のArrayList要素を保持できるため、!(aantalBezoekers >= 0)常にになりfalse、常にそのelse部分に含まれます。

于 2012-12-11T21:10:04.820 に答える
1
if(!(aantalBezoekers >= 0)) {

基本的には、 aantalBezoekersゼロより大きくない場合にのみ実行されることを意味します。

リストのサイズがゼロかどうかを確認する場合は、次のようなものを使用してください。

if(bezoeker.size()>0){
  System.out.pritnln("bezoeker is greater than zero " + bezoeker..size());
 } 
 else {
  System.out.pritnln("Mahn, my bezoeker is Empty " + bezoeker..size());
  }

ArrayList.isEmpty()メソッドを使用して、arraylistが空かどうかを確認することもできます。

if(bezoeker.isEmpty()) {
于 2012-12-11T21:12:11.920 に答える
0

それは

!(aantalBezoekers >= 0)

意味

not greater than or equal to zero

これは

less than zero

これは決して起こり得ないことです。

于 2012-12-11T21:09:34.583 に答える