我相信它与我的构造函数有关,但我不完全确定。
public String toString()
应该遍历数组并返回结果。
这会将十进制转换为二进制。
public class DNumber {
ArrayList<Digit> binary = new ArrayList<Digit>();
/**
* Constructor for objects of class DNumber
*/
public DNumber() {
ArrayList<Digit> binary = new ArrayList<>();
Digit num = new Digit(0);
binary.add(0, num);
}
public DNumber(int val) {
ArrayList<Digit> binary = new ArrayList<>();
int num = val;
while (num > 0) {
Digit bin = new Digit(num % 2);
num /= 2;
binary.add(0, bin);
}
}
/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @return the sum of x and y
*/
public String toString() {
ArrayList<Digit> binary = new ArrayList<>();
String s = "";
for (Digit d : binary) {
s = s + d.toString();
}
return s;
}
}
答案 0 :(得分:0)
您正在为每个操作使用不同的binary
列表,请尝试以下操作:
public class DNumber {
ArrayList<Digit> binary = new ArrayList<Digit>();
/**
* Constructor for objects of class DNumber
*/
public DNumber() {
Digit num = new Digit(0);
binary.add(0, num);
}
public DNumber(int val) {
int num = val;
while (num > 0) {
Digit bin = new Digit(num % 2);
num /= 2;
binary.add(0, bin);
}
}
/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @return the sum of x and y
*/
public String toString() {
String s = "";
for (Digit d : binary) {
s = s + d.toString();
}
return s;
}
}
答案 1 :(得分:0)
在每种方法中,您都会创建一个新的JOIN pg_stat_user_tables
。所以,在最后一个中,你试图迭代一个空的ArrayList。
删除方法中的所有ArrayList<Digit>
:
ArrayList<Digit> binary = new ArrayList<>();