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 @   文姬的九命猫  阅读(383)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示