请教一个简单的JAVA小程序问题。

package学生信息管理;importjava.util.Scanner;classPerson{Stringname;Stringage;Stringgrade;}c... package 学生信息管理;
import java.util.Scanner;
class Person
{
String name;
String age;
String grade;
}
class XSXXGL
{

public static void main(String args[])
{
Scanner sc;
int x,i=0;
String name;
Person[] per= new Person[100];
sc = new Scanner(System.in);
System.out.println("输入序号选择功能");
System.out.println("1.z");
System.out.println("2.s");
System.out.println("3.g");
System.out.println("4.c");
System.out.println("5.exit");
x=sc.nextInt();
switch(x)
{
case 1:
int l=0;
System.out.print("输入多少个学生");
l=sc.nextInt();
l=l+i;
for(;i<l;i++)
{
System.out.print("输入姓名:");
per[i].name=sc.next();
System.out.print("输入年龄");
per[i].age=sc.next();
System.out.print("输入成绩:");
per[i].grade=sc.next();
}
case 2:
int m,n;
n=sc.nextInt();
for(m=0;m<100;m++)
{
if(per[n].name==per[m].name)
{
per[m].name=null;
per[m].age=null;
per[m].grade=null;
}

}
case 3:
m=0;
name=sc.next();
for(m=0;m<100;m++)
{
if(name==per[m].name)
{
System.out.print("输入姓名:");
per[i].name=sc.next();
System.out.print("输入年龄:");
per[i].age=sc.next();
System.out.print("输入成绩:");
per[i].grade=sc.next();
}

}
case 4:
m=0;
name=sc.next();
for(m=0;m<100;m++)
{
if(name==per[m].name)
{
System.out.print("输入姓名:");
System.out.print("输入年龄:");
System.out.print("输入成绩:");
}
}
default:
break;
}
}
}

这个为什么一到往person类数组的成员输入时就出错啊。
提示这个,Type has not been loaded occurred while retrieving component type of array.
在线等。 昨天老师留的,JAVA什么都没学呢就开始让我们写…真过分…
请无视case 2……
展开
 我来答
百度网友a95e0d6
2014-04-02 · TA获得超过105个赞
知道答主
回答量:43
采纳率:0%
帮助的人:24.5万
展开全部

试试改成这样

输入的话就用per[i].setname("abcde");输出的话就用System.out.println(per[i].getname);不过不知你这个Person[] per= new Person[100];有没有问题。

CM娱新世界
推荐于2016-01-08 · TA获得超过308个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:139万
展开全部
import java.util.Scanner;
class Person
{
String name;
String age;
String grade;
}
public class XSXXGL
{

public static void main(String args[])
{
Scanner sc;
int x,i=0;
String name;
Person[] per= new Person[100];
sc = new Scanner(System.in);
System.out.println("输入序号选择功能");
System.out.println("1.z");
System.out.println("2.s");
System.out.println("3.g");
System.out.println("4.c");
System.out.println("5.exit");
x=sc.nextInt();
switch(x)
{
case 1:
int l=0;
System.out.print("输入多少个学生");
l=sc.nextInt();
l=l+i;
for(;i<l;i++)
{
System.out.print("输入姓名:");
per[i].name=sc.next();
System.out.print("输入年龄");
per[i].age=sc.next();
System.out.print("输入成绩:");
per[i].grade=sc.next();
}
case 2:
int m,n;
n=sc.nextInt();
for(m=0;m<100;m++)
{
if(per[n].name==per[m].name)
{
per[m].name=null;
per[m].age=null;
per[m].grade=null;
}

}
case 3:
m=0;
name=sc.next();
for(m=0;m<100;m++)
{
if(name==per[m].name)
{
System.out.print("输入姓名:");
per[i].name=sc.next();
System.out.print("输入年龄:");
per[i].age=sc.next();
System.out.print("输入成绩:");
per[i].grade=sc.next();
}

}
case 4:
m=0;
name=sc.next();
for(m=0;m<100;m++)
{
if(name==per[m].name)
{
System.out.print("输入姓名:");
System.out.print("输入年龄:");
System.out.print("输入成绩:");
}
}
default:
break;
}
}
}
追问
还是不对啊……
追答
 case 1:
            int l=0;
            System.out.print("输入多少个学生");
            l=sc.nextInt();
            l=l+i;
            for(;i<l;i++)
            {
            System.out.print("输入姓名:");
            per[i]=new Person();    // 实例一个person对象
            per[i].name=sc.next();
            System.out.print("输入年龄");
            per[i].age=sc.next();
            System.out.print("输入成绩:");
            per[i].grade=sc.next();
            }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友61d3496
2014-04-02 · 超过29用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:54万
展开全部
class Person
{
String name;
String age;
String grade;
}
class XSXXGL
{

public static void main(String args[])
{
Scanner sc;
int x,i=0;
String name;
Person[] per= new Person[100];
for(int j=0;j<per.length;j++){ //加上这三段
per[j]=new Person(); //
} //
sc = new Scanner(System.in);
System.out.println("输入序号选择功能");
System.out.println("1.z");
System.out.println("2.s");
System.out.println("3.g");
System.out.println("4.c");
System.out.println("5.exit");
x=sc.nextInt();
switch(x)
{
case 1:
int l=0;
System.out.print("输入多少个学生");
l=sc.nextInt();
l=l+i;
for(;i<l;i++)
{
System.out.print("输入姓名:");
per[i].name=sc.next();
System.out.print("输入年龄");
per[i].age=sc.next();
System.out.print("输入成绩:");
per[i].grade=sc.next();
}
case 2:
int m,n;
n=sc.nextInt();
for(m=0;m<100;m++)
{
if(per[n].name==per[m].name)
{
per[m].name=null;
per[m].age=null;
per[m].grade=null;
}

}
case 3:
m=0;
name=sc.next();
for(m=0;m<100;m++)
{
if(name==per[m].name)
{
System.out.print("输入姓名:");
per[i].name=sc.next();
System.out.print("输入年龄:");
per[i].age=sc.next();
System.out.print("输入成绩:");
per[i].grade=sc.next();
}

}
case 4:
m=0;
name=sc.next();
for(m=0;m<100;m++)
{
if(name==per[m].name)
{
System.out.print("输入姓名:");
System.out.print("输入年龄:");
System.out.print("输入成绩:");
}
}
default:
break;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友282d6a2
2014-04-02 · 超过28用户采纳过TA的回答
知道答主
回答量:131
采纳率:0%
帮助的人:66.6万
展开全部
。。。。进入case后你没有创建person的对象 所以没法设置值 。per[0]这获取不到任何东西,你在进入循环后加入这个试试 per[i] = new Person();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喃喃自语心默念
2014-04-02 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:131万
展开全部
在Person[] per= new Person[100];下面添加如下代码初始化对象就不会出错了
for(;i<100;i++)
{
per[i]=new Person();
}
i=0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式