public class TestScale { public static void main(String[] args) {
int a = 26; //想要转换的十进制数
int b = 8; //想要转换为八进制
MyScale m = new MyScale();
m.change(a, b);
}}class MyScale {
int s[];
int i = 0;
public void change (int a,int b) {
do{
s[i] = (a%b);
a = (a/b);
i++;
}while(a/b!=0);
System.out.println(s);
}
}
为什么总会报错啊
Exception in thread "main" java.lang.NullPointerException
at MyScale.change(TestScale.java:18)
at TestScale.main(TestScale.java:8)
int a = 26; //想要转换的十进制数
int b = 8; //想要转换为八进制
MyScale m = new MyScale();
m.change(a, b);
}}class MyScale {
int s[];
int i = 0;
public void change (int a,int b) {
do{
s[i] = (a%b);
a = (a/b);
i++;
}while(a/b!=0);
System.out.println(s);
}
}
为什么总会报错啊
Exception in thread "main" java.lang.NullPointerException
at MyScale.change(TestScale.java:18)
at TestScale.main(TestScale.java:8)
类似
int s[] = new int[2];不过你的逻辑也对吧
类似
int s[] = new int[2];不过你的逻辑也对吧
没有反着输出,不过这样都出问题了,就没有写那个。能在代码上改改吗
类似
int s[] = new int[2];不过你的逻辑也对吧
没有反着输出,不过这样都出问题了,就没有写那个。能在代码上改改吗
public class TestScale { public static void main(String[] args) {
int a = 26; // 想要转换的十进制数
int b = 8; // 想要转换为八进制
MyScale m = new MyScale();
m.change(a, b);
}
}class MyScale {
int s[] = new int[2]; int i = 0; public void change(int a, int b) {
do {
s[i] = (a % b);
a = (a / b);
i++;
} while (a != 0);
for (int i = s.length - 1; i >= 0; i--) {
System.out.print(s[i]);
}
}
}
另外因为位数不一定,最好用list型的,不要用数组
类似
int s[] = new int[2];不过你的逻辑也对吧
没有反着输出,不过这样都出问题了,就没有写那个。能在代码上改改吗
public class TestScale { public static void main(String[] args) {
int a = 26; // 想要转换的十进制数
int b = 8; // 想要转换为八进制
MyScale m = new MyScale();
m.change(a, b);
}
}class MyScale {
int s[] = new int[2]; int i = 0; public void change(int a, int b) {
do {
s[i] = (a % b);
a = (a / b);
i++;
} while (a != 0);
for (int i = s.length - 1; i >= 0; i--) {
System.out.print(s[i]);
}
}
}
另外因为位数不一定,最好用list型的,不要用数组
为什么输出的会是[I@6cd9c6e2呢
类似
int s[] = new int[2];不过你的逻辑也对吧
没有反着输出,不过这样都出问题了,就没有写那个。能在代码上改改吗
public class TestScale { public static void main(String[] args) {
int a = 26; // 想要转换的十进制数
int b = 8; // 想要转换为八进制
MyScale m = new MyScale();
m.change(a, b);
}
}class MyScale {
int s[] = new int[2]; int i = 0; public void change(int a, int b) {
do {
s[i] = (a % b);
a = (a / b);
i++;
} while (a != 0);
for (int i = s.length - 1; i >= 0; i--) {
System.out.print(s[i]);
}
}
}
另外因为位数不一定,最好用list型的,不要用数组
为什么输出的会是[I@6cd9c6e2呢我的还是你的代码?你直接print数组,又没重写tostring方法,当然打印的是对象啊。