我收到一个字符串,我将其转换为包含水位(以毫升为单位)的整数。我在文本框中显示水位,并在进度栏中显示其进度。我需要在cupcount中统计消耗的杯子数量,每个杯子是400ml,并将消耗的水量存储在cup_amount中。
String text = new String(txValue, "UTF-8");
/* listAdapter.add(text);
messageListView.smoothScrollToPosition(listAdapter.getCount()-1); */
String[] parts = text.split(",");
String part1 = parts[0];
String part2 = parts[1];
temperature.setText("Temperature: " + part1 + " °F");
capacitance.setText("Water Level: " + part2 + " mL");
int number = 0;
try{
number= Integer.parseInt(part2);
}catch(NumberFormatException nfe){
}
progressBar.setProgress(number);
int array[] = new int[200];
int cup_amount=0;
for(int a =0;a<array.length;a++) {
array[a] = number;
if(array[a]>0)
cup_amount = array[a]-array[a-1];
if(cup_amount >= 400)
{
cupcount= cupcount + 1;
cup_amount=0;
}
Log.d("Array","arr: "+ Arrays.toString(array));
}
cup_count.setText("Water intake = " + cupcount + " cups");
} catch (Exception e) {
Log.e(TAG, e.toString());
}
}
问题是当水位变化至少 400mL 时,cup_count 不会更新。我怎样才能解决这个问题?
编辑:抱歉造成混淆,我预期的输入是整数“数字”,它会随着水位的增加而更新,它将在 0mL 到 500mL 之间。
我试图记录消耗的水杯量(如果用户喝了 400 毫升或更多,就会发生这种情况),并将其存储在变量“cup_count”中,以便我可以将其显示到 XML 中的 EditText 框“cupcount”。我还想记录消耗的水总量(以毫升为单位),以便我可以通知用户他们在特定时间段内没有足够的水,这将存储在变量“cup_amount”中。我什至不确定使用数组是否是存储这些值的最佳方法。
编辑:
我不确定这是否是您尝试实现的目标,但您可以:
public class MyClass {
public static void main(String args[]) {
int total_amount = 2750;
int cup_count = total_amount / 400;
int remainder = total_amount % 400;
System.out.println("Water intake = " + cup_count + " cups.\nRemainder = " + remainder + " ml.");
}
}
我是一名优秀的程序员,十分优秀!