【Java】面向对象编程题

简介: 【Java】面向对象编程题

编程题:

第1题2分

  1. 题干:

定义方法读取student.txt文件中数据保存到List<Student>中,再将学生数据根据成绩高低保存到stu-1.txt、stu-2.txt、stu3.txt、stu4.txt文件中


l将成绩85-100之间的学生信息保存到stu-1.txt文件中


l将成绩70-84之间的学生信息保存到stu-2.txt文件中


l将成绩55-69之间的学生信息保存到stu-3.txt文件中


l将成绩0-54之间的学生信息保存到stu-4.txt文件中


Student类的成员分别为:String number、String name、int age、String gender、int score


资料:

S_001,侯浩灿,25,男,68
S_002,唐金闯,18,男,92
S_003,孙希,22,女,40
S_004,冉晓涵,19,女,40
S_005,谢广赞,19,女,45
S_006,杨文涵,19,男,83
S_007,王学森,19,女,71
S_008,张浩男,19,男,64
S_009,邓凯,19,女,85
S_010,刘崴,16,女,41
S_011,徐凡,20,女,100
S_012,王国志,19,男,60
S_013,庞龙,17,男,93
S_014,李逸桧,18,男,55
S_015,李昱华,18,女,85
S_016,王晓发,19,女,48
S_017,瞿刚,20,女,70
S_018,许晋标,19,男,55
S_019,宋品梁,18,女,65
S_020,郭宇鹏,20,男,72
S_021,连庆薇,19,女,42
S_022,王文佳,19,女,71
S_023,芦佳生,18,男,54
S_024,任泰,18,女,75
S_025,齐玥威,19,女,57
S_026,胡孜芳,19,男,83
S_027,刘梓怡,18,女,86
S_028,谌琦尘,18,女,93
S_029,刘佳秀,18,男,60
S_030,陈宇烨,20,男,64
S_031,郑相明,20,女,42
S_032,黄旭,19,男,83
S_033,刘江超,18,女,70
S_034,谢然,21,女,40
S_035,刘嘉俊,19,男,42
S_036,王景飞,20,男,66
S_037,高锦豪,18,女,79
S_038,贾萌双,20,女,59
S_039,王永伯,17,男,100
S_040,曹阿莹,19,男,73
S_041,范康,19,男,82
S_042,罗奕芳,18,男,71
S_043,乔福楠,17,女,79
S_044,罗亚权,17,男,47
S_045,杨珍林,17,男,66
S_046,王玉峰,19,男,42
S_047,张立睿,18,男,90
S_048,杨雪玮,21,男,76
S_049,刘存琪,19,女,45
S_050,刘子震,17,男,68
S_051,匡苏文,18,女,62
S_052,洪一英,17,男,63
S_053,王淇,18,男,68
S_054,林若泽,19,男,60
S_055,苏若敏,17,男,95
S_056,尹椿强,18,女,74
S_057,怀有哲,18,男,72
S_058,王浩波,24,女,50
S_059,李林悦,18,女,99
S_060,刘文卓,18,女,66
S_061,冯福伦,18,女,46
S_062,袁亚笑,14,男,85
S_063,彭帅,18,女,43
S_064,石彦清,20,女,43
S_065,杨宇,18,男,66

第2题1.5分

文档文件操作题

  1. 题干:

用迭代的方法遍历自己编写程序所在工程下的所有子文件和子文件夹的名称

要求:文件夹名称输出格式:文件夹xxxx

     文件名称输出格式:文件xxxx

  1. 示例:

示例1:


package Demo02;
import java.io.File;
import java.io.IOException;
/**
 * Created by jiegege on 2019/11/15.
 * 2、  给定文件夹,用迭代的方法遍历自己指定文件夹中的所有子文件和子文件夹(10)
 */
public class Test01 {
    public static void main(String[] args) throws IOException {
        File f01 = new File("D:\\myproject\\core\\kaoshi-11-15");
        show(f01);
    }
    public static void show(File f01) throws IOException {
        }

执行结果:

3fecee52000045028e9e9c2c0de1bf69.png


31.5分

字符串加密解密

  1. 题干:


在D盘下用代码创建一个文件为b.txt文件,在b.txt文件中存入字符串” abcdefg”,按照约定的规则对b.txt中的数据加密,加密后的数据放在D盘下的c.txt文件中。把c.txt文件中的数据解密出来 存放到 D盘下的d.txt中.   加密规则  对字节数据 +3


  1. 示例:

示例1:

public class Test01 {
    public static void main(String[] args) throws IOException {
        File f01 = new File("D:\\b.txt");
        if(!f01.exists()){
            f01.createNewFile();
        }
        File f02 = new File("D:\\c.txt");
        if(!f02.exists()){
            f02.createNewFile();
        }
        File f03 = new File("D:\\d.txt");
        if(!f03.exists()){
            f03.createNewFile();
        }
        FileUtils.writeStringToFile(f01, "abcdefg");
        jiaMi(f01,f02);
        jieMi(f02,f03);
    }
    public static void jiaMi(File f01,File f02) throws IOException {
            }
    public static void jieMi(File f02,File f03) throws IOException {
    }
}


执行结果:

e460ed9725414fd5a01f07ce26bf3121.png

44分

登录注册

  1. 题干:


参考test1()方法,完成如下类的定义,确保test1()方法可编译、运行

public void test1() {
    Emp[] emps = new Emp[3];// 创建员工数组
    Programmer p = new Programmer();// 创建程序员类对象
    p.setName("张三");// 设置姓名
    p.setBaseSalary(20000);// 设置底薪
    p.setOvertimeHours(10);// 设置加班时长
    emps[0] = p;
    Manager m = new Manager("李四", 30000);//创建经理类对象,初始化姓名和底薪
    m.setBonus(10000);//设置奖金
    emps[1] = m;
    Cleaner c = new Cleaner("王五", 0, 40);//创建清洁工对象,初始化姓名、底薪、工作次数
    emps[2] = c;
    // 计算公司所有员工月薪和
    double total = 0;
    for(int i=0;i< emps.length;i++) {
        Emp e = emps[i];
        System.out.println(e.getName()+"的月薪是:" + e.getSalary());
        total += e.getSalary();
    }
    System.out.println("公司本月人力成本是:" + total);
}

1). 定义员工类:Emp


 * 成员变量:


   > String name:姓名


   > double baseSalary:底薪


 * 构造方法:要求必须有两个构造方法


   > 无参构造方法:要求调用本类另一个构造方法


   > 两个参数的构造方法:参数为name和baseSalary,完成对name和baseSalary两个成员变量的初始化赋值


 * 方法:完成对name和baseSalary两个成员变量的getter/setter方法


 * 抽象方法:


   > double getSalary():计算月薪方法(每个子类的计算月薪方式不同)


2). 定义程序员类:Programmer


 * 成员变量:


   > int overtimeHours:加班小时数


 * 构造方法:至少三个构造方法


   > 确保1个构造方法调用本类其他构造方法,另外2个构造方法调用父类构造方法


 * 方法:完成overtimeHours成员变量的getter/setter方法


 * 月薪计算:底薪+加班费,其中加班费=加班小时数*20


3). 定义经理类:Manager


 * 成员变量:


   > double bonus:奖金


 * 构造方法:至少三个构造方法


   > 确保2个构造方法调用本类其他构造方法,另外1个构造方法调用父类构造方法


 * 方法:完成bonus成员变量的getter/setter方法


 * 月薪计算:底薪+奖金


4). 定义清洁工类:Cleaner


 * 成员变量


   > int leborCount:工作次数


 * 构造方法:至少三个构造方法


   > 确保2个构造方法调用本类其他构造方法,另外1个构造方法不调用本类其他构造方法。


 * 方法:完成leborCount成员变量的getter/setter方法


 * 月薪计算:底薪+工作次数*50


51分

面向对象、常用API、集合、IO

  1. 题干:

现在有一个大中华区胡润富豪榜,里面存放了大中华区十位富豪及其资金


该文件叫做fuhao.txt


 比如 马云=2000亿 这种形式存储,但是里面具体数据并不知道是什么


自顺丰速递上市以来,王卫身价飙升,现在已经是1860亿,现在有个需求


判断该富豪榜中是否有王卫,如果有则将其身价修改为1860亿.


将新的数据更新到文件fuhao.txt中


fuhao.txt 文件内容(注意:这个文件里内容我们是未知的!!!!!!)


资料:

王健林=2050亿
马云=2000亿
李嘉诚=1750亿
李兆基=1660亿
马化腾=1520亿
丁磊=1250亿
宗庆后=1120亿
姚振华=1050亿
郑家纯=1050亿
王卫=900亿

执行结果:

e6a9df5fa43345519f877923ef9c596c.png



相关文章
|
7天前
|
Java
Java面向对象编程新篇章:多态,你准备好了吗?
【6月更文挑战第17天】Java的多态性是面向对象编程的核心,它允许通过统一的接口处理不同类型的对象。例如,在一个虚拟宠物游戏中,抽象类`Pet`定义了`speak()`方法,猫、狗和鹦鹉等子类各自重写此方法以实现独特叫声。在`main`方法中,使用`Pet`类型的引用创建子类对象并调用`speak()`,多态机制确保调用实际对象的方法,实现代码的灵活性和可扩展性。通过多态,我们能以更低的耦合度和更高的复用性编写更优雅的代码。
|
8天前
|
Java
Java 面向对象编程:父类与子类的“传承”与“创新”之路
【6月更文挑战第16天】Java 中的父类与子类展示了面向对象的“传承”与“创新”。子类`Dog`继承`Animal`,获取其属性和方法如`name`和`makeSound`。子类通过`@Override`增强`makeSound`,显示多态性。设计父类时应考虑普遍性,子类创新专注自身特性,遵循继承最佳实践,利用复用提升效率,构建可维护的软件系统。
|
22天前
|
Java 安全 索引
滚雪球学Java(48):面向对象编程中的StringBuffer类详解
【6月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
30 5
滚雪球学Java(48):面向对象编程中的StringBuffer类详解
|
8天前
|
存储 安全 Java
深入探讨 Java 封装机制:为何它是面向对象编程的核心?
【6月更文挑战第16天】Java的封装是OOP核心,它将数据和操作数据的方法打包在类中,隐藏实现细节并提供公共接口。例如,`Student`类封装了私有属性`name`和`age`,通过`get/set`方法安全访问。封装提升代码稳定性、可维护性和复用性,防止外部直接修改导致的错误,确保数据安全。它是面向对象编程优于传统编程的关键,促进高效、可靠的开发。
|
6天前
|
Java 数据安全/隐私保护 开发者
Java是一种完全支持面向对象编程的语言,其面向对象特性包括封装、继承、多态和抽象等
【6月更文挑战第18天】**面向对象编程(OOP)通过对象封装状态和行为,实现问题域的抽象。Java全面支持OOP,核心特性包括**: - **封装**:保护数据安全,隐藏内部细节。 - **继承**:子类继承父类属性和行为,促进代码重用。 - **多态**:一个接口多种实现,增强灵活性和扩展性。 - **抽象**:通过接口和抽象类抽离共性,简化复杂性。 **Java的OOP便于理解和解决复杂系统问题。**
20 3
|
5天前
|
Java 开发者
Java面向对象编程(OOP)的四个主要概念
【6月更文挑战第19天】Java OOP的基石是封装、抽象、继承和多态。封装是通过类隐藏数据细节;抽象简化复杂性,用接口和抽象类实现;继承让子类从父类继承属性和行为,促进代码重用;多态一个接口可有多种形态,分编译时和运行时。这些概念支持灵活且可扩展的软件设计。
9 1
|
8天前
|
Java
Java 面向对象编程大揭秘:子类如何“继承”父类,摇身一变成为“新贵”?!
【6月更文挑战第16天】Java中的继承允许子类从父类继承特性与功能,如`Dog`继承`Animal`,重写`makeSound`方法,展现独特行为。同样,`Circle`继承`Shape`,定制`draw`方法以绘制圆形。继承提高了代码复用和灵活性,使子类能基于父类基础创新,如同接力赛中父类传递接力棒,子类创造新辉煌。在Java世界,继承是构建复杂项目的关键机制,有待深入探索。
|
30天前
|
Java 编译器 数据库
滚雪球学Java(40):解读Java面向对象编程中的方法和继承,打造可维护的代码库
【5月更文挑战第15天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
33 4
滚雪球学Java(40):解读Java面向对象编程中的方法和继承,打造可维护的代码库
|
24天前
|
Java
深入探索Java语言的面向对象编程
深入探索Java语言的面向对象编程
|
26天前
|
Java 编译器
Java面向对象编程:构造方法详解
Java面向对象编程:构造方法详解
30 2