请教一个简单的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…… 展开
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…… 展开
6个回答
展开全部
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();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
}
}
{
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;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。。。进入case后你没有创建person的对象 所以没法设置值 。per[0]这获取不到任何东西,你在进入循环后加入这个试试 per[i] = new Person();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Person[] per= new Person[100];下面添加如下代码初始化对象就不会出错了
for(;i<100;i++)
{
per[i]=new Person();
}
i=0;
for(;i<100;i++)
{
per[i]=new Person();
}
i=0;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询