Java操作题练习(二)

题目

一、基本操作题(18 分)

  1. 请补全以下代码,实现数组的初始化,并计算数组元素之和。(6 分)

    public class ArraySum {
    public static void main(String[] args) {
    int[] numbers = ____________; // 初始化一个包含 1, 2, 3, 4, 5 的数组
    int sum = 0;
    for (int num : numbers) {
    sum += num;
    }
    System.out.println("数组元素之和为: " + sum);
    }
    }

  2. 完成以下代码,调用 printMessage 方法输出 "Hello, Java!"。(6 分)

    public class MethodCall {
    public static void printMessage() {
    System.out.println("Hello, Java!");
    }

    复制代码
     public static void main(String[] args) {
         // 在此处调用 printMessage 方法
     }

    }

  3. 补全代码,定义一个 Rectangle 类,包含长 length 和宽 width 属性,以及一个计算面积的方法 calculateArea。(6 分)

    public class Rectangle {
    private double length;
    private double width;

    复制代码
     // 请定义构造方法初始化 length 和 width
     public Rectangle(double length, double width) {
         ____________;
         ____________;
     }
    
     public double calculateArea() {
         return length * width;
     }

    }

二、简单应用题(24 分)

  1. 创建一个 BankAccount 类,实现账户的基本操作,包括账户余额的封装(私有属性)、存款和取款方法(公有方法)。账户余额不能为负数。(12 分)
  2. 定义一个接口 Shape,包含计算面积的抽象方法 calculateArea。然后创建 CircleRectangle 类实现该接口,分别计算圆和矩形的面积。(12 分)

三、综合应用题(18 分)

实现一个简单的学生信息管理系统。系统可以实现以下功能:

  1. 添加学生信息,包括学号、姓名、年龄。(6 分)
  2. 根据学号查询学生信息。(6 分)
  3. 显示所有学生信息。(6 分)使用数组或集合来存储学生信息。

参考答案:

一、基本操作题答案

复制代码
public class ArraySum {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5}; // 初始化一个包含 1, 2, 3, 4, 5 的数组
        int sum = 0;
        for (int num : numbers) {
            sum += num;
        }
        System.out.println("数组元素之和为: " + sum);
    }
}

java

复制代码
public class MethodCall {
    public static void printMessage() {
        System.out.println("Hello, Java!");
    }

    public static void main(String[] args) {
        printMessage(); // 在此处调用 printMessage 方法
    }
}

java

复制代码
public class Rectangle {
    private double length;
    private double width;

    // 请定义构造方法初始化 length 和 width
    public Rectangle(double length, double width) {
        this.length = length;
        this.width = width;
    }

    public double calculateArea() {
        return length * width;
    }
}

二、简单应用题答案

复制代码
public class BankAccount {
    private double balance;

    public BankAccount(double initialBalance) {
        if (initialBalance >= 0) {
            this.balance = initialBalance;
        } else {
            System.out.println("初始余额不能为负数");
        }
    }

    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
            System.out.println("存款成功,当前余额为: " + balance);
        } else {
            System.out.println("存款金额必须大于 0");
        }
    }

    public void withdraw(double amount) {
        if (amount > 0 && amount <= balance) {
            balance -= amount;
            System.out.println("取款成功,当前余额为: " + balance);
        } else {
            System.out.println("取款金额无效或余额不足");
        }
    }
}

java

复制代码
interface Shape {
    double calculateArea();
}

class Circle implements Shape {
    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    @Override
    public double calculateArea() {
        return Math.PI * radius * radius;
    }
}

class Rectangle implements Shape {
    private double length;
    private double width;

    public Rectangle(double length, double width) {
        this.length = length;
        this.width = width;
    }

    @Override
    public double calculateArea() {
        return length * width;
    }
}

三、综合应用题答案

复制代码
import java.util.ArrayList;
import java.util.List;

class Student {
    private int id;
    private String name;
    private int age;

    public Student(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

class StudentManagementSystem {
    private List<Student> students = new ArrayList<>();

    public void addStudent(Student student) {
        students.add(student);
        System.out.println("学生添加成功");
    }

    public Student queryStudentById(int id) {
        for (Student student : students) {
            if (student.getId() == id) {
                return student;
            }
        }
        System.out.println("未找到该学号的学生");
        return null;
    }

    public void displayAllStudents() {
        if (students.isEmpty()) {
            System.out.println("没有学生信息");
        } else {
            for (Student student : students) {
                System.out.println("学号: " + student.getId() + ", 姓名: " + student.getName() + ", 年龄: " + student.getAge());
            }
        }
    }
}

public class Main {
    public static void main(String[] args) {
        StudentManagementSystem system = new StudentManagementSystem();
        Student student1 = new Student(1, "Alice", 20);
        Student student2 = new Student(2, "Bob", 21);

        system.addStudent(student1);
        system.addStudent(student2);

        system.displayAllStudents();

        Student queriedStudent = system.queryStudentById(1);
        if (queriedStudent != null) {
            System.out.println("查询到的学生信息: 学号: " + queriedStudent.getId() + ", 姓名: " + queriedStudent.getName() + ", 年龄: " + queriedStudent.getAge());
        }
    }
}
相关推荐
智能体与具身智能2 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
小灰灰搞电子2 小时前
Rust+Slint 实现动态消息提示框源码分享
开发语言·后端·rust
魏 无羡2 小时前
webclient
java·webclient
2601_962294613 小时前
python中range函数怎么用
python·for循环·可迭代对象·range函数·整数列表
神仙别闹3 小时前
基于 C++ 实现两个有序链表序列的交集
java·c++·链表
传奇开心果编程4 小时前
【Rust入门知识点学与练】第21课:Trait 进阶 Advanced Traits
开发语言·学习·rust
青 春 记 忆4 小时前
零基础入门python70:Docker Compose 编排完整后端
python·后端开发
新时代牛马4 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
swordbob4 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
m0_587383005 小时前
全民健身解决方案软件开发实战:从架构设计到落地指南
java·spring boot·spring·架构·需求分析