创建一个新项目来添加一个类。该类应具有以下实例:
field 1 // for input of student ID number
field 2 // for input of student name
field 3 // for input gander "M" or "F"
field 4 // for input student major - network or security
该类应该有no-arg构造函数,它将帮助您创建对象。为了测试您的类,创建另一个包含main方法的类(即您的主程序)。 main方法中的代码应创建“n”个对象,其中“n”取决于您希望拥有多少学生。主要方法应允许输入“n”个学生,并以具有合适标题的格式打印出细节。
这是我的解决方案,我发现了错误。请帮我。 这是我的第一个问题。
import java.util.*;
public class StudentClass
{
int studentdID;
String studentName,studentMajor;
char age;
StudentClass(int s1,String n1,String b1,char a1)
{
studentdID=s1;studentName=n1;studentMajor=b1;age=a1;
}
public void display()
{
System.out.println(this.studentdID+" "+this.studentName+" "+this.studentMajor+" "+this.age+" ");
}
public static void main(String[] args)
{
int s;
String n,k,g;
char ch;
int num;
Scanner ss=new Scanner(System.in);
System.out.println("HOW MANY STUDENT");
num=ss.nextInt();
StudentClass[]a=new StudentClass[num];
for(int i=0;i<a.length;i++)
{
System.out.println("ENTER STUDENT ID OF STUEDNT"+(i+1));
s=ss.nextInt();
System.out.println("ENTER GENDER OF STUDENT"+(i+1));
g = ss.next();
ch = g.charAt(0);
System.out.println("ENTER STUDENT NAME OF STUDENT"+(i+1));
n=ss.next();
System.out.println("ENTER STUDENT MAJOR OF STUDENT"+(i+1));
n=ss.next();
a[i]=new StudentClass(s,n,k,g);
}
for (int i=0;i<a.length;i++)
{
a[i].display();
}
}
}
答案 0 :(得分:1)
你真的应该多考虑如何命名变量并阅读Java编码风格约定。另请阅读处理输入和异常。
无论如何,代码中有两个明显的错误:
当你调用构造函数时,你将错误的变量作为参数传递:
a[i]=new StudentClass(s,n,k,g);
可能应该是
a[i]=new StudentClass(s,n,k,ch);
你永远不会分配给变量k,而是分配给n两次:
System.out.println("ENTER STUDENT NAME OF STUDENT"+(i+1));
n=ss.next();
System.out.println("ENTER STUDENT MAJOR OF STUDENT"+(i+1));
n=ss.next();
应该是:
System.out.println("ENTER STUDENT NAME OF STUDENT"+(i+1));
n=ss.next();
System.out.println("ENTER STUDENT MAJOR OF STUDENT"+(i+1));
k=ss.next();
最后,考虑选择一本不错的Java书籍并完成Oracle提供的教程。