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());
        }
    }
}
相关推荐
m0_617493941 小时前
Python OpenCV 分水岭算法(Watershed)详解与实战
python·opencv·算法
Sammyyyyy1 小时前
如何利用本地技术栈构建 0 成本 AI SaaS 雏形
开发语言·人工智能·python·ai·servbay
蜡台1 小时前
Android WebView 设计指南
android·java·kotlin
AAIshangyanxiu1 小时前
Python 机器学习与深度学习气象水文海洋全域应用技术体系:地学时空数据 AI 建模、数值模式后处理、气象海洋水文智能预测与数据处理
人工智能·python·机器学习·水文气象·气象预测·气象海洋
中微极客1 小时前
边缘AI实战:TinyML模型量化与部署全解析(TensorFlow 2.18.0 + ESP32)
人工智能·python·tensorflow
冻柠檬飞冰走茶1 小时前
PTA基础编程题目集 7-13 日K蜡烛图(C语言实现)
c语言·开发语言·数据结构·算法
AI_paid_community1 小时前
机械研发人员如何使用 Claude?
java·vue.js
MacroZheng1 小时前
同事:“Claude Code都能自动写代码了,还要什么Spec Coding?” 我反问:“屎山代码你来维护?”
java·人工智能·后端
csdn_aspnet1 小时前
C# 从凸包中删除点(Deleting points from Convex Hull)
开发语言·c#