установка нулевого значения - PullRequest
0 голосов
/ 11 сентября 2011

Я делаю диаграмму, которая содержит значения x и y из sqlite.

мой код такой:

   Double a, b;

       notesCursor.moveToFirst();
   do {
       a = notesCursor.getDouble(notesCursor.getColumnIndex(DbAdapter.KEY_ROWID));
       b = notesCursor.getDouble(notesCursor.getColumnIndex(DbAdapter.KEY_RESULT));  
       mCurrentSeries.add(a, b);
   }while(notesCursor.moveToNext());

когда я не вставил значение xy в свой sqlite, появилось сообщение об ошибке ... я хочу добавить код, который, даже если я не вставил значение xy в свою базу данных, выйдет диаграмма с 0, 0 значением ..

я делал код, подобный этому:

Double a, b;
   if(a==null && b==null){
       mCurrentSeries.add(0.0, 0.0);
   }
   else{      
       notesCursor.moveToFirst();
   do {
       a = notesCursor.getDouble(notesCursor.getColumnIndex(DbAdapter.KEY_ROWID));
       b = notesCursor.getDouble(notesCursor.getColumnIndex(DbAdapter.KEY_RESULT));  
       mCurrentSeries.add(a, b);
   }while(notesCursor.moveToNext());
   }

но я не могу заставить его работать, кто-нибудь может помочь мне решить эту проблему? спасибо

Ответы [ 2 ]

1 голос
/ 11 сентября 2011

Код ИНИЦИАЛИЗИРУЕТ значения, отличные от null (0.0), но он никогда не гарантирует, что они не будут равны нулю до тех пор, пока они не будут переданы методу mCurrentSeries.add.В предыдущем коде, если a и b начинаются с ненулевого значения, тогда будет использовано другое else в if else, тогда do while.Если в операции do в то время как noteCursor.getDouble возвращает ноль для a или b, то a и / или b будут нулевыми.Если вам нужно, чтобы a и b не были нулевыми при поступлении в ваш объект mCurrentSeries с помощью метода add, вам следует изменить этот метод add, чтобы дать a и b некоторые значения по умолчанию, когда они равны null.

0 голосов
/ 12 сентября 2011

Ваш новый код не гарантирует, что a и b не будут иметь значение null при передаче в метод mCurrentSeries.add:

import java.util.HashMap;

import java.util.Map;

открытый классC {Double a, b;Map mCurrentSeries = new HashMap ();NotesCursor notesCursor = new NotesCursor ();

public void yourMethod() {
    if (a == null && b == null) {
        mCurrentSeries.put(0.0, 0.0);
    } else {
        // notesCursor.moveToFirst();
        do {
            a = notesCursor.getDouble();
            b = notesCursor.getDouble();
            mCurrentSeries.put(a, b);
        } while (notesCursor.moveToNext());
    }
}

private static class NotesCursor {
    boolean b = false;

    public Double getDouble() {
        return null;
    }

    public boolean moveToNext() {
        return !b;
    }
}

public static void main(String... args) {
    C c = new C();
    c.yourMethod();
    System.out.println("a="+c.a);
    System.out.println("b="+c.b);
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...