gpt4 book ai didi

mobile - 从 J2ME 中的文本字段解析 int 或 double

转载 作者:行者123 更新时间:2023-12-04 18:21:54 25 4
gpt4 key购买 nike

我在 Java ME 中有两个文本字段,我正在尝试创建第三个字段,它将计算用户输入的前两个文本字段的总数。我知道我会首先将前两个文本字段转换为 Int 值。然后将它们设置为变量以添加并显示在第三个文本字段中。

但是使用下面我正在使用的代码时,我会收到错误消息,还有另一种方法吗?

public firstMIDlet()
{
d = Display.getDisplay(this);

muaj1 = new TextField("0-11 muaj", "", 6, TextField.ANY);
int m1Int = Integer.parseInt(TextField.getString());

muaj2 = new TextField("12-23 muaj", "", 6, TextField.ANY);
int m2Int = Integer.parseInt(TextField.getString());

totali = new TextField("TOTALI", "", 7, TextField.ANY);
}

最佳答案

您应该发布您遇到的错误和位置。
所以大概...

如果返回的值是“”(这是您的情况),则它无法将其转换为整数并返回 NumberFormatException。

如果要将其解析为整数,则应使用 TextField.NUMERIC。

此外,您可能需要启动一个动态计算第三个字段值的线程。

并且每当您调用 TextField.getString() 时都会出错,因为它不是静态方法,并且它不知道应该从哪个 TextField 获取它。

所以,你需要做这样的事情:

    private Form f;
public firstMIDlet() {
d = Display.getDisplay(this);
f = new Form("myform);
muaj1 = new TextField("0-11 muaj","",6,TextField.NUMERIC);
muaj2 = new TextField("12-23 muaj","",6,TextField.NUMERIC);
totali = new TextField("TOTALI","",7,TextField.NUMERIC | TextField.UNEDITABLE);
myform.append(muaj1);
myform.append(muaj2);
myform.append(totali);
startUpdating();
}

public void startApp() {
d.setCurrent(form);
}

public void startUpdating() {
new Thread () {
public void run() {
try {
int m1Int = Integer.parseInt(muaj1.getString());
int m2Int = Integer.parseInt(muaj2.getString());
totali.setString((m1Int + m2Int) + "");
}
catch (NumberFormatExeption nfe) {}
}
}.start();
}

在哪里
    "" + someInt

将转换为字符串。你也可以使用
    Integer.toString(m1Int + m2Int)

关于mobile - 从 J2ME 中的文本字段解析 int 或 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10478604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com