java课后题学生类和借书卡类设计,无法运行的处理


package javastudent423;

public class studentcard {

class Student{//定义Student类,标记为static静态
        private String name;
        private String mail;//定义name和mail,分别代表学生姓名和电子邮箱
        public void Setname(String names) {
             name = names;
        }//将外部调用传来的name参数赋值给私有成员变量name
        public void Setmail(String mails) {
            mail = mails;
        }//将外部调用传来的mail参数赋值给私有成员变量mail
        public String Outname() {
            return name;
        }//将name返回
        public String Outmail() {
            return mail;
        }//将mial返回
    }
class BorrowBookCard{//定义Student类,标记为BorrowBookCard静态
    private String name;
    private int number;//定义学生姓名和借书的本数;
    public void Setnames(String names) {
        name = names;
    }
    public void Setnumber(int numbers) {
        number = numbers;
    }
    public String Outname() {
        return name;
    }
    public int Outnumber() {
        return number;
    }
    public void OutAll() {
        System.out.println("姓名:"+name+'\t'+"已经借出书籍数量:"+number);
    }
}
public  class Test{

    public void  main(String[] args) {//定义主函数,标记为static。
        Student s1 = new Student();//实例化一个Student类的对象
        s1.Setname("文姬的九命猫");
        s1.Setmail("1554178896@qq.com");//传入参数
        String s1_name;
        s1_name = s1.Outname();//将返回值赋值给一个String类的变量
        System.out.println("通过内部方法返回名字:"+s1_name);//输出这个变量
        BorrowBookCard b1 = new BorrowBookCard();//实例化一个BorrowBookCard类的对象
        String n1 = "文姬的九命猫";
        b1.Setnames(n1);
        b1.Setnumber(4);//传入参数
        System.out.println("显示借书卡类记录信息:");
        b1.OutAll();
    }        
}
}

 

 

在写完上面学生类和借书卡类和测试类main函数之后无论如何都运行不了。

修改前Run As只有Run Configurations...

在参考教材后,将

class Student和class BorrowBookCard加上static并全部放入测试类,并将
public  class Test{
  public void  main(String[] args) 
改为
public static class Test{

    public static void  main(String[] args)
之后就可以运行。
public class studentcard {

public static class Test{
static class Student{//定义Student类,标记为static静态
        private String name;
        private String mail;//定义name和mail,分别代表学生姓名和电子邮箱
        public void Setname(String names) {
             name = names;
        }//将外部调用传来的name参数赋值给私有成员变量name
        public void Setmail(String mails) {
            mail = mails;
        }//将外部调用传来的mail参数赋值给私有成员变量mail
        public String Outname() {
            return name;
        }//将name返回
        public String Outmail() {
            return mail;
        }//将mial返回
    }
static class BorrowBookCard{//定义Student类,标记为BorrowBookCard静态
    private String name;
    private int number;//定义学生姓名和借书的本数;
    public void Setnames(String names) {
        name = names;
    }
    public void Setnumber(int numbers) {
        number = numbers;
    }
    public String Outname() {
        return name;
    }
    public int Outnumber() {
        return number;
    }
    public void OutAll() {
        System.out.println("姓名:"+name+'\t'+"已经借出书籍数量:"+number);
    }
}
    public static void  main(String[] args) {//定义主函数,标记为static。
        Student s1 = new Student();//实例化一个Student类的对象
        s1.Setname("文姬的九命猫");
        s1.Setmail("1554178896@qq.com");//传入参数
        String s1_name;
        s1_name = s1.Outname();//将返回值赋值给一个String类的变量
        System.out.println("通过内部方法返回名字:"+s1_name);//输出这个变量
        BorrowBookCard b1 = new BorrowBookCard();//实例化一个BorrowBookCard类的对象
        String n1 = "文姬的九命猫";
        b1.Setnames(n1);
        b1.Setnumber(4);//传入参数
        System.out.println("显示借书卡类记录信息:");
        b1.OutAll();
    }        
}
}

此后又将static class Student和static class BorrowBookCard放到测试类之前,发现也可以正常运行。

package javastudent423;

public class studentcard {

    static class Student{//定义Student类,标记为static静态
        private String name;
        private String mail;//定义name和mail,分别代表学生姓名和电子邮箱
        public void Setname(String names) {
             name = names;
        }//将外部调用传来的name参数赋值给私有成员变量name
        public void Setmail(String mails) {
            mail = mails;
        }//将外部调用传来的mail参数赋值给私有成员变量mail
        public String Outname() {
            return name;
        }//将name返回
        public String Outmail() {
            return mail;
        }//将mial返回
    }
static class BorrowBookCard{//定义Student类,标记为BorrowBookCard静态
    private String name;
    private int number;//定义学生姓名和借书的本数;
    public void Setnames(String names) {
        name = names;
    }
    public void Setnumber(int numbers) {
        number = numbers;
    }
    public String Outname() {
        return name;
    }
    public int Outnumber() {
        return number;
    }
    public void OutAll() {
        System.out.println("姓名:"+name+'\t'+"已经借出书籍数量:"+number);
    }
}
public static class Test{

    public static void  main(String[] args) {//定义主函数,标记为static。
        Student s1 = new Student();//实例化一个Student类的对象
        s1.Setname("文姬的九命猫");
        s1.Setmail("1554178896@qq.com");//传入参数
        String s1_name;
        s1_name = s1.Outname();//将返回值赋值给一个String类的变量
        System.out.println("通过内部方法返回名字:"+s1_name);//输出这个变量
        BorrowBookCard b1 = new BorrowBookCard();//实例化一个BorrowBookCard类的对象
        String n1 = "文姬的九命猫";
        b1.Setnames(n1);
        b1.Setnumber(4);//传入参数
        System.out.println("显示借书卡类记录信息:");
        b1.OutAll();
    }        
}
}

虽然解决了,但还没搞清楚是什么原因,希望以后能弄明白。

大二学生第一次发博客,先抛块砖,有玉的前辈尽管砸过来,谢谢园子。

posted @ 2021-04-28 21:46  文姬的九命猫  阅读(378)  评论(0编辑  收藏  举报