【发布时间】:2018-12-23 20:08:49
【问题描述】:
最近有人要求我编写一个toString 方法,该方法在数组中返回一个数字,如下所示:
从数字的右侧开始每 3 位数字后,它应该 添加逗号,但如果数字的位数为 3 或更少 不加逗号。
但是我遇到了一个问题:该方法总是返回值0,。如何调整代码以返回正确的格式?
public class BigNum {
int[] num;
final int MAX_DIGITS = 50;
public BigNum() {
this.num = new int[MAX_DIGITS];
this.num[0] = 0;
for(int i=1 ; i<this.num.length ; i++)
this.num[i] = -1;
}
public BigNum(long n) {
int number = (int)n;
this.num = new int[MAX_DIGITS];
for (int i = 0; i < this.num.length; i++) {
num[i] = number % 10;
number /= 10;
}
}
public String toString(){
String toReturn = "";
this.num = new int[MAX_DIGITS];
for(int i=0 ; i<this.num.length ; i++)
if(this.num.length>=1 && this.num.length<=3)
toReturn = num[i] + "";
for(int j=0 ; j<this.num.length ; j+=3)
toReturn = num[j] + "," ;
return toReturn;
}
【问题讨论】:
-
我不确定您所说的“返回数组的 toString 方法”是什么意思,因为代码中的
toString不返回数组。 -
该方法应该返回一个字符串,该字符串打印出现在数组中的数字,如上所述。对不起我的语言不好。
-
删除此行
this.num = new int[MAX_DIGITS]; -
我试过了,但没用
-
你的主要功能在哪里。