1
我想实施计算来跟踪液体摄入量。这应该从用户获得输入,执行计算并显示结果。Codename One:实现跟踪功能并执行计算
正如前面的文章中所建议的,我已经更新了我的代码(来自方法AddItem()),如下所示。
addItem.addComponent(selectItem);
TextField quantity = new TextField("", "Quantity (ml or g)", 4, TextArea.NUMERIC);
addItem.addComponent(quantity);
Button add = new Button("Add");
addItem.addComponent(add);
TextArea results = new TextArea("Results");
addItem.addComponent(results);
//TextArea total = new TextArea("Add Item");
//addItem.addComponent(total);
//--------------------------------------------------------------
add.addActionListener((ActionEvent ev) -> {
Storage s = Storage.getInstance();
int total = 0;
String num = quantity.getText();
Integer num2 = Integer.parseInt(num);
total = total + num2;
// Save the "Hello World" string to storage
s.writeObject("volume", total);
Container ctrResult = new Container(new GridLayout(1,3));
//Define a new container associated to a gridlayout with 1 row and 1 column
ctrResult.addComponent(new Label("Volume"));
ctrResult.addComponent(new Label(Integer.toString(total)));
ctrResult.addComponent(new Label(Integer.toString(total/volume*100)));
//Because you use a value inside a function, addItem should be initialized as final
addItem.addComponent(ctrResult);
});
//--------------------------------------------------------------
return addItem;
此代码显示用户输入(来自用户的编号)。我想保存总数并在计算中使用它来更新正在保存的内容。另外,如果用户添加另一个数量,则会显示一个新行,但是我希望现有行得到更新。
此外,我想执行另一个计算来计算百分比,使用下面的变量(在另一个方法称为设置())。
TextField volume = new TextField("", "Volume (ml)", 4, TextArea.NUMERIC);
settings.addComponent(volume);
计算结果为:total/volume * 100。
这两种方法都是公开的。
因此,我将不胜感激任何关于如何在我的代码中实现的帮助和指导。