2

我使用 jsf 和一个类制作了这个计算器程序

我想附加输入的值,例如点击 1 三次得到 111

此处输入的值显示为 1,而附加值始终相同 (1) 我在课堂上有 @ApplicationScoped

<h:inputText value="#{mbcalculator.result}"/>
    <h:commandButton value="1" action="#{mbcalculator.setNumber}">
        <f:setPropertyActionListener target="#{mbcalculator.enteredvalue}"
            value="1" />


       //mbcalculator class

    public String setNumber() {
    appendNumber(enteredvalue);

    return null;
}

public void appendNumber(String x) {
    StringBuffer buffer = new StringBuffer();
    buffer.append(x + "");
    String str = buffer.toString();
    appendedvalue = Integer.parseInt(str);
            result = appendedvalue;


    System.out.println("enter"+enteredvalue);
    System.out.println("append"+appendedvalue);
    System.out.println("result"+result);
}
4

1 回答 1

0

appendNumber()你覆盖整个result而不是附加到它。

result = appendedvalue;

通过真正附加到result.

public void appendNumber(String x) {
    result = Integer.parseInt(result + x);
}
于 2012-11-02T17:18:22.633 回答