Java阶乘打印错误值
我需要帮助做一项运动。我目前正在学习Java。我正在做一个阶乘练习,我的应用程序会提示用户一个数字,然后计算该数字的阶乘并返回显示 这是我的GUI类:Java阶乘打印错误值,java,Java,我需要帮助做一项运动。我目前正在学习Java。我正在做一个阶乘练习,我的应用程序会提示用户一个数字,然后计算该数字的阶乘并返回显示 这是我的GUI类: public String factorial; public String fieldnumber; public String calculateFactorial() { fieldnumber = this.numberField.getText(); Number number = new Number(Integer
public String factorial;
public String fieldnumber;
public String calculateFactorial() {
fieldnumber = this.numberField.getText();
Number number = new Number(Integer.parseInt(fieldnumber));
System.out.print(number.toString());
return number.toString();
}
private void calculateBtnActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println( this.calculateFactorial());
}
这是我的数字课:
public class Number {
private int number;
int i,fact=1;
public Number(int number){
this.number = number;
}
public Integer getNumber(){
return this.number;
}
public void setNumber(int number){
this.number = number;
}
private Integer computeFactorial(){
for(i=1; i<=number ;i++){
fact=fact*i;
}
return this.fact;
}
public String toString() {
return Integer.toString(this.computeFactorial());
}
}
公共类编号{
私有整数;
int i,事实=1;
公共号码(整数){
这个数字=数字;
}
公共整数getNumber(){
返回此.number;
}
公共无效集合号(整数){
这个数字=数字;
}
私有整数ComputeFactory(){
for(i=1;i在for循环之前,必须初始化fact=1;因为您调用了该方法两次
private Integer computeFactorial(){
fact = 1;
for(i=1; i<=number ;i++){
fact=fact*i;
}
return this.fact;
}
private Integer computeFactorial(){
事实=1;
对于(i=1;它通过返回正确的值来工作,但该值仍在重复。就像factorial 6在calculateFactorial方法中给出720720一样,您可以调用System.out.print(number.toString());它打印720并返回number.toString();以calculateBtnActionPerformed第二次打印返回的值(720)