java作业

这篇博客涵盖了Java编程的多个作业题目,包括学生类的异常处理、复数类的操作异常、String类的使用、雇员类的定义、对象序列化以及查词典问题的解决。每个题目详细描述了需求并提供了输入输出样例。
摘要由CSDN通过智能技术生成

学生类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import java.util.Arrays;
import java.text.DecimalFormat;
import java.util.Scanner;
  
class Student{
   
    String studentNumber;
    String studentName;
    int markForMaths;
    int markForEnglish;
    int markForScience;
      
    public void Student(String number, String name) {
   
        studentNumber = number;
        studentName = name;
    }
    public void Student(){
   
          
    }
    public String getNumber() {
   
        return studentNumber;
    }
    public String getName() {
   
        return studentName;
    }
    public void enterMarks(int markForMaths, int markForEnglish, int markForScience) {
   
        this.markForMaths = markForMaths;
        this.markForEnglish = markForEnglish;
        this.markForScience = markForScience;
    }
    public int getMathsMark() {
   
        return markForMaths;
    }
    public int getEnglishMark() {
   
        return markForEnglish;
    }
    public int getScienceMark() {
   
        return markForScience;
    }
    public double calculateAverage() {
   
        return (markForEnglish+markForMaths+markForScience)/3.0;
    }
    public String toString() {
   
        DecimalFormat df = new DecimalFormat("#.0");
        return ("Student ID:"+studentNumber+"\n"+"Name:"+studentName+"\n"+
                  "Math:"+markForMaths+"\n"+"English:"+markForEnglish+"\n"+"Science:"+markForScience+
                  "\n"+"Average Score:"+df.format(this.calculateAverage()));
    }
    
}
public class Main{
   
    public static void main(String[] args) {
   
        Student stu = new Student();
        Scanner in = new Scanner(System.in);
        String number,name;
        int a,b,c;
        number = in.next();
        name = in.next();
        a = in.nextInt();
//      System.out.println(a);
        b= in.nextInt();
        c = in.nextInt();
        stu.Student(number, name);
        stu.enterMarks(a, b, c);
        System.out.println(stu.toString());
          
    }
}
 
 

学生类列表

import java.text.DecimalFormat;
import java.util.Scanner;
class Student
{
   
    String StudentNumber;
    String StudentName;
    int markForMath;
    int markForEnglish;
    int markForScience;
    double average;
    DecimalFormat df = new DecimalFormat("0.0");
    public Student(String StudentNumber,String StudentName,int markForMath,int markForEnglish,int markForScience)
    {
   
        this.StudentName =StudentName;
        this.StudentNumber = StudentNumber;
        this.markForMath = markForMath;
        this.markForEnglish = markForEnglish;
        this.markForScience=markForScience;
         
    }
      
    public String printinfo() {
   
       average =(markForMath + markForEnglish + markForScience )/3.00; 
        return ("Student ID:"+this.StudentNumber+"\n"+"Name:"+this.StudentName+"\n"+"Average Score:"+df.format(this.average));
    }
}
  
class StudentList
{
   
    Student[] list;//存储学生对象
    int total;//学生总人数
    public StudentList(int length) {
   
        list = new Student[length];
    }
    public boolean add(Student stu) {
   
        for(int i=0;i<total;i++) {
   
            if(stu.StudentNumber.equals(list[i].StudentNumber)||stu.StudentName.equals(list[i].StudentName)) {
   
                return false;
            }
        }
        if(total==0||total<130)
            list[total] = new Student(stu.StudentNumber, stu.StudentName,stu.markForMath, stu.markForEnglish, stu.markForScience);
            total++;
            //System.out.println();
            return true;
    }
    public boolean remove(String number) {
   
        if(total!=0) {
   
            for(int i = 0;i < total;i++){
   
                if(list[i].StudentNumber.equals(number))
                {
   
                     
                    for(int j = i;j < total - 1;j++)
                    {
   
                        list[j] = list[j + 1];
                    }
                    total--;
                    return true;     
                }                                                                      
            }
        }
        return false;
          
    }
    public boolean updateItem(String number , int math , int english , int science) {
   
        if(total!=0) {
   
            for(int i=0;i<total;i++) {
   
                if(number.equals(list[i].StudentNumber)) {
   
                    list[i].markForMath = math;
                    list[i].markForEnglish = english;
                    list[i].markForScience = science;
                     
                    return true;
                }
            }                                                                                                             
        }
        return false;
    }
    public boolean isEmpty() {
   
        if(total==0) {
   
            return true;
        }
        else {
   
            return false;
        }
    }
    public int getToal() {
   
        return total;
    }
    public Student getItem(String number) {
   
        if(total!=0) {
   
            for(int i=0;i<total;i++) {
   
                if(number.equals(list[i].StudentNumber)) {
   
                    return list[i];
//                  Student Tempstu = new Student(list[i].StudentName,list[i].StudentNumber,list[i].markForMath,list[i].markForEnglish,list[i].markForScience);
//                  return Tempstu;
                }
            }
        }
        return null;
          
    }
      
}
  
public class Main{
   
    public static void main(String args[]){
   
        Scanner in = new Scanner(System.in);
        int n;
        //num,math,science,english;
        String studentNumber,studentName;
        n = in.nextInt();
        in.nextLine();
        StudentList list = new StudentList(n);
        for(int i=0;i<n;i++) {
   
            //num = in.nextInt();
//         因为各个功能要求输入的变量个数不一样,并且不能把输入信息但放到if里面,因为如果放到if里面,无法保证delete获参,所以1-5这样设不行
//          studentNumber = in.next(); //1
//          studentName = in.next();//2
//              math = in.nextInt();//3
//              science = in.nextInt();//4
//              english = in.nextInt();//5
            String s = in.nextLine();//nextline能读取带空格
            String str[] = s.split(" ");
            int num = Integer.parseInt(str[0]);
            if(num==1) {
   
                studentNumber = str[1];
                studentName = str[2];
                int math = Integer.parseInt(str[3]);
                int english = Integer.parseInt(str[4]);
                int science = Integer.parseInt(str
实验1 类的定义、对象数组的使用 1. 定义一个学生类(Student), 属性有 1)非静态属性String studentNumber 2)非静态属性String studentName 3)非静态属性int markForMaths 4)非静态属性int markForEnglish 5)非静态属性int markForScience 方法有: 1)构造方法Student(String number, String name) 2)构造方法Student() 3)String getNumber() 4)String getName() 5)void enterMarks(int markForMaths, int markForEnglish, int markForScience) 6)int getMathsMark() 7)int getEnglishMark() 8)int getScienceMark() 9)double calculateAverage() 10)String toString() 返回学生信息,包括学号、姓名、数学成绩、英语成绩、科学成绩、平均成绩。 注意:为了保证calculateAverage返回double类型,需要把三个分数的和除以3.0,而不是3. 另外,分数的初始值是什么?如果每个分数初始值为0,会造成混淆,分数为0表示还没有输入分数,还是分数确实为0?有更好的初始值吗? 编写Student类,并且编写一个StudentTest类,对Student类进行测试。 StudentTest类运行效果如下: 请输入学生学号:2011211301 请输入学生姓名:王晓 请输入学生三门课成绩(数学,英语,科学):88,79,90 学生信息如下: 学号:2011211301 姓名:王晓 数学成绩:88 英语成绩:79 科学成绩:90 平均成绩:85.66666666666667 2.定义一个StudentList类用来存储Student对象 属性有 1)Student[] list; //list存储学生对象 2)int total; //学生总人数 方法有: 1)StudentList(int length) //length是数组长度 2)boolean add(Student stu) //增加stu到数组中,成功,返回true,否则false 3)boolean remove(int no) //删除第no个数组元素,删除成功,返回true,否则false 4)boolean remove(Student number) //删除学号为number的学生,删除成功,返回true,否则false 5)boolean isEmpty() //判断数组是否为空,若是,返回true,否则false 6)Student getItem(int no) //返回第no个学生 7)Student getItem(Student number) //返回学号为number的学生,若该生不存在,返回null。 8) int getTotal() 返回学生总人数 编写StudentList类,并且编写一个StudentListTest类,对StudentList类进行测试。 StudentListTest类运行效果: 菜单如下,请输入 1~8代表您要执行的操作: 1. 增加1个学生 2. 根据学号删除学生 3. 根据位置删除学生 4. 判断是否为空 5.根据位置返回学生 6.根据学号返回学生 7. 输出全部学生信息 8.退出程序 请输入您的操作:1 请输入学生信息: 学号:2011211301 姓名:王晓 数学成绩:88 英语成绩:79 科学成绩:90 ---目前有1个学生,信息为---: 学号:2011211301 姓名:王晓 数学成绩:88 英语成绩:79 科学成绩:90 平均成绩:85.66666666666667 请输入您的操作:1 学号:2011211311 姓名:李辉 数学成绩:80 英语成绩:79 科学成绩:93 ---目前有2个学生,信息为---: 学号:2011211301 姓名:王晓 数学成绩:88 英语成绩:79 科学成绩:90 平均成绩:85.66666666666667 姓名:李辉 数学成绩:80 英语成绩:79 科学成绩:93 平均成绩:84.0 请输入您的操作:5 请输入学生位置:10 对不起,没有对应的学生 请输入您的操作:5 请输入学生位置:2 学生信息如下: 姓名:李辉 数学成绩:80 英语成绩:79 科学成绩:93 平均成绩:84.0 请输入您的操作:3 请输入要删除第几个学生:2 删除成功 ---目前有1个学生,信息为:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值