我使用jsf和类制作了这个计算器程序 我使用命令按钮来传递和追加数字(就像袖珍计算器而不是第一个数字第二种数字计算器)这里是我遇到问题的代码示例
我想要输入值,例如单击CLICKING 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);
}
答案 0 :(得分:0)
在appendNumber()
中,您覆盖整个result
而不是附加到它。
result = appendedvalue;
通过真正附加到result
来修复它。
public void appendNumber(String x) {
result = Integer.parseInt(result + x);
}