我做的练习题,总是卡在测试类的输出上面(在控制台总是输出地址信息啊),求大伙帮忙找出错误,并解释下怎么改正啊,还有那个数组的实例化是啥意思啊????以下是我的代码
public class XIV1i {
int vipNumber;
int vipScore;
}
public class XIV1ii {
XIV1i[] a=new XIV1i[100];
XIV1i[] b=new XIV1i[100];
public void add(XIV1i vip){
for(int i=0;i<a.length;i++){
if(a[i]==null){
a[i]=vip;
break;
}
}
}
public void show(){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+""+i);
}
}
}
import java.util.Scanner;
public class XIV1测试 {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
XIV1ii x=new XIV1ii();
XIV1i[] v=new XIV1i[1];
for(int i=0;i<1;i++){
System.out.print("输入会员编号:");
v[i]=new XIV1i();
v[i].vipNumber=in.nextInt();
x.add(v[i]);
}
System.out.println("***会员列表***");
System.out.println("编号");
x.show();
}
}
public class XIV1i {
int vipNumber;
int vipScore;
}
public class XIV1ii {
XIV1i[] a=new XIV1i[100];
XIV1i[] b=new XIV1i[100];
public void add(XIV1i vip){
for(int i=0;i<a.length;i++){
if(a[i]==null){
a[i]=vip;
break;
}
}
}
public void show(){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+""+i);
}
}
}
import java.util.Scanner;
public class XIV1测试 {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
XIV1ii x=new XIV1ii();
XIV1i[] v=new XIV1i[1];
for(int i=0;i<1;i++){
System.out.print("输入会员编号:");
v[i]=new XIV1i();
v[i].vipNumber=in.nextInt();
x.add(v[i]);
}
System.out.println("***会员列表***");
System.out.println("编号");
x.show();
}
}
第二,你show方法中,输出的是那个类对象,所以肯定输出的是这个对象在内从中的地址,你可以输出a[i].vipNumber,或者a[i].getClass().getName();
还有你的测试类中,那个循环貌似没有用。
XIV1i[] a=new XIV1i[100];
XIV1i[] b=new XIV1i[100];
public void add(XIV1i vip){
for(int i=0;i<a.length;i++){
if(a[i]==null){
a[i]=vip;
break;//直接跳出循环,后面的不会再被赋值
}
}
}
public void show(){
for(int i=0;i<1;i++){//这里把你的i<100改成1了,因为你只有a[0]被存入数据了,如果是i<100就会跑出空指针异常
System.out.println(a[i].vipNumber+" "+i);
}
}
}
int vipNumber;
int vipScore;
}public class XIV1ii {
XIV1i[] a = new XIV1i[100];
public void add(XIV1i vip) {
for (int i = 0; i < a.length; i++) {
if (a[i] == null) {
a[i] = vip;
break;
}
}
}
public void show() {
for (int i = 0; i < a.length; i++) {
if (a[i]!= null)
System.out.print(a[i].vipNumber + " " +a[i].vipScore);
}
}
}import java.util.Scanner;public class XIV1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
XIV1ii x = new XIV1ii();
XIV1i[] v = new XIV1i[1];
for (int i = 0; i < 1; i++) {
System.out.print("输入会员编号:");
v[i] = new XIV1i();
v[i].vipNumber = in.nextInt();
v[i].vipScore = in.nextInt();
x.add(v[i]);
}
System.out.println("***会员列表***");
System.out.println("编号");
x.show();
}
}