我收到一个字符串,我将其转换为包含以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/

10-10 11:35