public class Random { int i = 1; int num[] = null; int temp; boolean log = true; public static void main(String agrs[]) {
Random a;
a = new Random();
System.out.println(a.setemp());
} public int setemp() {
int temp = (int) (Math.random() * 37 + 1);
while (true) { if (i <= 6) {
num[i] = temp;
i ++;
log = false;
} else {
for (int count = 0; count < num.length; count++) {
if (num[count] == temp) {
i = 1;
log = false;
setemp(); }
}
}
num = null;
return temp;
}
}
}
Random a;
a = new Random();
System.out.println(a.setemp());
} public int setemp() {
int temp = (int) (Math.random() * 37 + 1);
while (true) { if (i <= 6) {
num[i] = temp;
i ++;
log = false;
} else {
for (int count = 0; count < num.length; count++) {
if (num[count] == temp) {
i = 1;
log = false;
setemp(); }
}
}
num = null;
return temp;
}
}
}
Random a;
a = new Random(); for (int i = 1; i <= 6; i++) {
boolean log = true;
System.out.println(a.setemp());
}
} public int setemp() {
int temp = (int) (Math.random() * 37 + 1);
while (true) { if (i <= 6) {
num[i] = temp;
i++;
log = false;
} else {
for (int count = 0; count < 7; count++) {
if (num[count] == temp) {
i = 1;
log = false;
setemp(); }
}
}
num = null;
return temp;
}
}
}循环if (i <= 6) {
num[i] = temp;
i++;
log = false;
} else {
for (int count = 0; count < 7; count++) {
if (num[count] == temp) {
i = 1;
log = false;
setemp(); }
}
}
说有错错误:Exception in thread "main" java.lang.NullPointerException
at Random.setemp(Random.java:26)
at Random.main(Random.java:17)
23
boolean log = true;
System.out.println(a.setemp());
}
的时候,第一次进入setemp()执行时,会执行num = null;
,此时num已经为空了,当程序第二次进入setemp()时,num[i] = temp;
当然会报错了。
public class Randoma {int i = 1;int[] num = new int[7];int temp;boolean log = true;public static void main(String agrs[]) {
Randoma a;
a = new Randoma();
System.out.println(a.setemp());
}public int setemp() {
int temp = (int) (Math.random() * 37 + 1);
while (true)
{
if (i <= 6)
{
num[i] = temp;
i++;
log = false;
}
else{
for (int count = 0; count < num.length; count++) {
if (num[count] == temp) {
i = 1;
log = false;
setemp();
}
}
}
num = null;
return temp;
}
}
}可以正常运行