Некоторое время назад я написал этот код для своего проекта. Он должен рассчитать целевую дату, когда пользователь, вероятно, достигнет своей цели по диете. но при тестировании приложения я обнаружил, что какая бы цель ни была введена, целевая дата всегда на один месяц превышает дату создания.
это код
public String calcTD(SQLiteDatabase db){
String date = null;
myDataBase = db;
Cursor c = myDataBase.rawQuery("SELECT * FROM USER", null);
if (c!= null){
if (c.moveToFirst()){
String cdate = c.getString(c.getColumnIndex("CreatedDate"));
String type = c.getString(c.getColumnIndex("GoalType"));
if (type == "Maintain Weight")
date = cdate;
else{
int rate = c.getInt(c.getColumnIndex("Rate"));
float gw = c.getFloat(c.getColumnIndex("GoalWeight"));
float cw = getCW(db); //get current weight
float w = 0; int days = 0;
if (type == "Lose Weight")
w = cw - gw;
else if (type == "Gain Weight")
w = gw - cw;
switch (rate){
case 0: // the rate 250g/week
days = Math.round(w * 7 * 4);
break;
case 1: //the rate 500g/week
days = Math.round(w * 7 * 2);
break;
case 2://the rate 750g/week
days = Math.round(w * 7 * (4/3)) ;
break;
case 3:the rate 1kg/week
days = Math.round(w * 7);
break;
}
int y, m, d;
// the currentDate format (YYYYMMDD)
y = Integer.parseInt(cdate.substring(0,4));
m = Integer.parseInt(cdate.substring(4,6));
d = Integer.parseInt(cdate.substring(6,8));
GregorianCalendar i = new GregorianCalendar(y, m, d);
i.add(Calendar.DAY_OF_MONTH, days);
date = AllCmnMtd.getDate(i); // this will convert the date to a string with format (yyyymmdd)
}
}
}
return date;
}
Подробнее здесь: https://stackoverflow.com/questions/592 ... calculater
Что не так в этом калькуляторе целевой даты? ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1734303298
Anonymous
Некоторое время назад я написал этот код для своего проекта. Он должен рассчитать целевую дату, когда пользователь, вероятно, достигнет своей цели по диете. но при тестировании приложения я обнаружил, что какая бы цель ни была введена, целевая дата всегда на один месяц превышает дату создания.
это код
public String calcTD(SQLiteDatabase db){
String date = null;
myDataBase = db;
Cursor c = myDataBase.rawQuery("SELECT * FROM USER", null);
if (c!= null){
if (c.moveToFirst()){
String cdate = c.getString(c.getColumnIndex("CreatedDate"));
String type = c.getString(c.getColumnIndex("GoalType"));
if (type == "Maintain Weight")
date = cdate;
else{
int rate = c.getInt(c.getColumnIndex("Rate"));
float gw = c.getFloat(c.getColumnIndex("GoalWeight"));
float cw = getCW(db); //get current weight
float w = 0; int days = 0;
if (type == "Lose Weight")
w = cw - gw;
else if (type == "Gain Weight")
w = gw - cw;
switch (rate){
case 0: // the rate 250g/week
days = Math.round(w * 7 * 4);
break;
case 1: //the rate 500g/week
days = Math.round(w * 7 * 2);
break;
case 2://the rate 750g/week
days = Math.round(w * 7 * (4/3)) ;
break;
case 3:the rate 1kg/week
days = Math.round(w * 7);
break;
}
int y, m, d;
// the currentDate format (YYYYMMDD)
y = Integer.parseInt(cdate.substring(0,4));
m = Integer.parseInt(cdate.substring(4,6));
d = Integer.parseInt(cdate.substring(6,8));
GregorianCalendar i = new GregorianCalendar(y, m, d);
i.add(Calendar.DAY_OF_MONTH, days);
date = AllCmnMtd.getDate(i); // this will convert the date to a string with format (yyyymmdd)
}
}
}
return date;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/5924082/what-is-going-wrong-in-this-target-date-calculater[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия