第三次上机

本文详细介绍了如何使用Java编程语言设计并实现“学生”、“借书卡”和“用户”三个类。包括类的属性定义、方法实现及测试类的构建,通过实例展示了对象的创建与属性的动态赋值过程。

编写“学生”类及其测试类。

“学生”类:

  • 类名:Student
  • 属性:姓名、性别、年龄、学号、5门课程的成绩
  • 方法1:在控制台输出各个属性的值
  • 方法2:计算平均成绩
  • 方法3:输出各个属性的值和平均成绩

    测试类

  • 创建2个对象,调用方法,要求:对象各个属性的值,从键盘输入。
import java.util.*;

class student{
    String name;
    char sex;
    int age;
    String number;
    double score[]=new double[5];
    void printq(student s){
        System.out.println("姓名:"+s.name);
        System.out.println("性别:"+s.sex);
        System.out.println("年龄:"+s.age);
        System.out.println("学号:"+s.number);
        System.out.println("五门课成绩分别是:");
        for(int i=0;i<5;i++){
            System.out.print(s.score[i]+" ");
        }
    }
    double avarage(student s){
        double sum=0;
        for(int i=0;i<5;i++){
            sum+=s.score[i];
        }
        return sum/5;
    }
    void prints(student s){
        s.printq(s);
        System.out.print("\n平均成绩为:");
        System.out.print(s.avarage(s));
    }
}
public class studenttest {

    public static void main(String[] args) {
        Scanner read=new Scanner(System.in);
        student s=new student();
        System.out.println("请输入姓名、性别、年龄、学号和五门课程的成绩:");
        s.name=read.next();
        s.sex=read.next().charAt(0);
        s.age=read.nextInt();
        s.number=read.next();
        for(int i=0;i<5;i++)
        {
            s.score[i]=read.nextDouble();
        }
        s.prints(s);

    }

}

1631401-20190423143919962-1357407406.png

编写“借书卡”类及其测试类。

“借书卡”类

  • 属性:账号、持卡人姓名、身份证号码、地址、已借书数、可借书数、本次借书数、本次还书数
  • 方法一:借书,显示本次借书数和可借书数
  • 方法二:还书,显示本次还书数和可借书数

    测试类

  • 本次借书数 和 本次还书数,从键盘输入
import java.util.*;
class Library{
    String AccountNumber;
    String Name;
    String ID;
    String Address;
    int brbooks;     //已借书数
    int avbooks;     //可借书数
    int Nbrbooks;    //本次借书数
    int Nrebooks;    //本次还书数
    void brbook(Library t) {
        System.out.println("请输入本次借书数:");
        Scanner read=new Scanner(System.in);
        t.Nbrbooks=read.nextInt();
        t.avbooks-=t.Nbrbooks;
        System.out.printf("本次借书%d本,剩下可借数%d本\n",t.Nbrbooks,t.avbooks);
    }
    void rebook(Library t) {
        System.out.println("请输入本次还书数:");
        Scanner read=new Scanner(System.in);
        t.Nrebooks=read.nextInt();
        t.avbooks+=t.Nrebooks;
        System.out.printf("本次还书%d本,剩下可借数%d本\n",t.Nrebooks,t.avbooks);
    }
    
}

public class LibraryTest{

    public static void main(String[] args) {
        Library t=new Library();
        t.brbooks=0;
        t.avbooks=10;
        t.brbook(t);
        t.rebook(t);

    }

}

1631401-20190423151638186-1593226884.png

编写“用户”类及其测试类。

应用场景

  • 大多数的软件都需要“用户管理功能”,需要创建“用户类”。此程序实现了简易的“登录”功能,即验证用户名和密码是否正确。

    “用户”类

  • 属性:用户名、密码
  • 方法1:查找用户名是否存在(请将已注册的用户信息保存在数组中),用户存在返回true,不存在返回false
  • 方法2:验证密码是否正确,正确返回true,不正确返回false

    测试类

  • 从键盘输入用户名和密码
  • 用户名、密码均正确,在控制台输出“登录成功”
  • 用户名不存在,在控制台输出“用户名不存在”
  • 密码不正确,在控制台输出“密码不正确”

import java.util.*;

class User{
    String UserName;
    String PassWord;
    String ReUserName[][]={{"wangjiasheng","123456"}};
    boolean FUserName(User u) {
        if(u.UserName.equals(u.ReUserName[0][0])) return true;
        else return false;
    }
    boolean FPassWord(User u) {
        if(u.PassWord.equals(u.ReUserName[0][1])) return true;
        else return false;
    }
}

public class UserTest {

    public static void main(String[] args) {
        User u=new User();
        Scanner read=new Scanner(System.in);
        System.out.println("请输入账号:");
        u.UserName=read.next();
        if(u.FUserName(u)==true) {
            System.out.println("请输入密码:");
            u.PassWord=read.next();
            if(u.FPassWord(u)==true)
                System.out.println("登陆成功");
            else System.out.println("密码错误");
        }
        else System.out.println("该账号不存在");

    }

}

1631401-20190423154309076-1633956701.png

1631401-20190423154315567-2017399268.png

1631401-20190423154322128-1085686607.png

转载于:https://www.cnblogs.com/wjs0403/p/10756273.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值