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());
        }
    }
}
相关推荐
小新讲网安1 小时前
WiFi安全攻防实战:WPA3新协议与传统破解技术全解析
开发语言·网络·安全·php·漏洞·nmap·漏洞检测
必须会一定会7 小时前
Agent Plugins 1.0实战:plugin.json、skills、mcp.json目录结构与迁移
开发语言·人工智能·ai编程
St_rive7 小时前
Page Object设计模式
java·开发语言·设计模式
CTA量化套保7 小时前
近期零基础量化学习:先分阶段,再用 AI 检查缺口
人工智能·python
wp123_17 小时前
硬件元器件笔记|IPX8 防水 Type‑C 母座安费诺 124018802112A 与 TONEVEE TY48086‑24A 分析
c语言·开发语言·笔记
wuyk5557 小时前
4.树:一对多的层次数据结构
开发语言·数据结构·stm32·单片机
风流 少年7 小时前
Spring AI 2.0:SSE
java·人工智能·spring
清水白石0088 小时前
Python 死锁排查全攻略:从线程卡死到锁依赖定位与工程化修复
linux·网络·python
凤山老林8 小时前
精细化流量治理:Spring Boot 动态特性开关与灰度发布体系
java·spring boot·后端
Elias不吃糖8 小时前
Langfuse 入门:Trace、Prompt、Dataset、Experiment、Evaluator
前端·python·prompt·langfuse