数组引用数据类型这块不熟悉,很蒙的,明白为啥但是理解的不透彻。
老师留的作业是用数组外部引用数据类型实现代码。Vpoll[] voteArray = new Vpoll[5]; //引用数组
Scanner sc = new Scanner(System.in); //控制台输入参赛者的信息
for(int i=0;i<voteArray.length;i++)
{
String votename = " ";
               System.out.print("第"+(i+1)+"个参赛者的编号:"+(i+1)+" \n");//输入学号
               Vpoll votenum = new Vpoll();
               votenum.Vnum =i+1;
               voteArray[0] = votenum;//参赛者的编号               System.out.print(" 请输入参赛者姓名:");
               Vpoll Vone = new Vpoll();
               Vone.Vname = sc.next();           
               voteArray[1]= Vone;                  System.out.print(" 请输入参赛者年龄:");
               Vpoll Vtwo = new Vpoll(); 
               Vtwo.Vold = sc.next();
               voteArray[2]= Vtwo;             //  Vpoll str = new Vpoll();  
     //   str = voteArray[i];
       System.out.print("以下为参赛选手\n"+votenum.Vnum+"."+Vone.Vname+"  "+Vtwo.Vold+"岁\n");
    }我想实现循环输入名字、年龄,我数组长度为5,我输入5次之后显示名单。
但是我现在的代码问题是运行的是输入一次显示一次名单,如果把 System.out.print("以下为参赛选手\n"+votenum.Vnum+"."+Vone.Vname+" "+Vtwo.Vold+"岁\n");放在for循环外面enum.Vnum这几个引用就不好用,如果把我输入姓名、年龄的代码放到外面我又没有办法让他循环输入。请问大神我该怎么更改?重要的是我的思路是不是错误的?

解决方案 »

  1.   

    import java.util.Scanner;public class Test01 {
    public static void main(String[] args) {
    Vpoll[] voteArray = new Vpoll[2]; //引用数组

    Scanner sc = new Scanner(System.in); //控制台输入参赛者的信息
    for(int i=0;i<voteArray.length;i++)
    {
    Vpoll temp =new Vpoll();
                   System.out.println("第"+(i+1)+"个参赛者的编号:"+(i+1));//输入学号
                   temp.num=sc.next();
                   System.out.println(" 请输入参赛者姓名:");
                   temp.name = sc.next();           
                   System.out.println(" 请输入参赛者年龄:");                
                   temp.age=sc.next();
                   voteArray[i]=temp;
     }
    sc.close();
    System.out.print("以下为参赛选手:\n");
    for(int i=0;i<voteArray.length;i++)
    System.out.print("\n"+voteArray[i].num+"."+voteArray[i].name+"  "+voteArray[i].age+"岁\n");

    }

    }
    public class Vpoll {
    public String name;
    public String num;
    public String age;
    }