我收到一个字符串,我将其转换为包含以mL为单位的水位的整数。我在文本框中显示水位,并在进度栏中显示其进度。我需要计算以cupcount为单位的杯子消耗量,每个杯子为400毫升,并以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不会更新。我怎样才能解决这个问题?
编辑:对不起,我的困惑是我的期望输入是整数'number',它随着水位的增加而更新,它将在0mL到500mL之间。
我正在尝试记录消耗的杯水量(如果用户喝400毫升或更多),这会发生,并将其存储在变量“ cup_count”中,这样我就可以将其显示在XML的EditText框“ cupcount”中。我还想记录以mL为单位的水消耗总量,因此我可以通知用户在一定时间段内没有足够的水,这将存储在变量“ 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.");
}
}
关于java - 如何计算消耗的杯子量并将消耗的总水量存储在阵列中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50010191/