【Java】面向对象编程题

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 【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



相关文章
|
4天前
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
48 15
|
4天前
|
Java 数据安全/隐私保护 开发者
【潜意识Java】深入理解 Java 面向对象编程(OOP)
本文介绍了Java中的面向对象编程(OOP)核心概念,包括封装、继承、多态和抽象。封装通过访问控制保护数据,提高安全性;继承支持代码复用,减少冗余;多态实现灵活的行为调用;抽象则隐藏细节,简化接口设计。掌握这些概念有助于编写高效、灵活且易于维护的代码。文章通过实例详细讲解了每个概念在Java中的应用,并总结了它们的优势。
22 3
|
2月前
|
Java 开发者
Java 面向对象编程
总之,Java 的面向对象编程为开发者提供了一种有效的编程范式,帮助他们构建出高质量、可维护的软件系统。理解和掌握面向对象的概念和原则是成为优秀 Java 开发者的重要基础。
205 63
|
5月前
|
Java 开发者
在Java面向对象编程的广阔海洋中,多态犹如一股深邃的潜流,它推动着代码从单一走向多元,从僵化迈向灵活。
在Java面向对象编程的广阔海洋中,多态犹如一股深邃的潜流,它推动着代码从单一走向多元,从僵化迈向灵活。
49 7
|
5月前
|
Java 开发者
那些年,我们一同踏入Java编程的大门,多态,这个充满魔法的名字,曾无数次点亮我们探索面向对象编程的热情。
那些年,我们一同踏入Java编程的大门,多态,这个充满魔法的名字,曾无数次点亮我们探索面向对象编程的热情。
57 5
|
5月前
|
Java 程序员
Java中的继承和多态:理解面向对象编程的核心概念
【8月更文挑战第22天】在Java的世界中,继承和多态不仅仅是编程技巧,它们是构建可维护、可扩展软件架构的基石。通过本文,我们将深入探讨这两个概念,并揭示它们如何共同作用于面向对象编程(OOP)的实践之中。你将了解继承如何简化代码重用,以及多态如何为程序提供灵活性和扩展性。让我们启程,探索Java语言中这些强大特性的秘密。
|
7月前
|
Java
Java面向对象编程新篇章:多态,你准备好了吗?
【6月更文挑战第17天】Java的多态性是面向对象编程的核心,它允许通过统一的接口处理不同类型的对象。例如,在一个虚拟宠物游戏中,抽象类`Pet`定义了`speak()`方法,猫、狗和鹦鹉等子类各自重写此方法以实现独特叫声。在`main`方法中,使用`Pet`类型的引用创建子类对象并调用`speak()`,多态机制确保调用实际对象的方法,实现代码的灵活性和可扩展性。通过多态,我们能以更低的耦合度和更高的复用性编写更优雅的代码。
49 3
|
7月前
|
Java
Java 面向对象编程:父类与子类的“传承”与“创新”之路
【6月更文挑战第16天】Java 中的父类与子类展示了面向对象的“传承”与“创新”。子类`Dog`继承`Animal`,获取其属性和方法如`name`和`makeSound`。子类通过`@Override`增强`makeSound`,显示多态性。设计父类时应考虑普遍性,子类创新专注自身特性,遵循继承最佳实践,利用复用提升效率,构建可维护的软件系统。
167 57
|
5月前
|
存储 前端开发 JavaScript
【前端学java】面向对象编程基础-类的使用(4)
【8月更文挑战第9天】面向对象编程基础-类的使用
32 0
|
5月前
|
Java 程序员 开发者
Java的面向对象编程:从基础到深入
【8月更文挑战第21天】在本文中,我们将探讨Java的面向对象编程(OOP)的核心概念,包括类、对象、继承、多态和封装。我们将通过实例和比喻,以通俗易懂的方式,深入理解这些概念的内涵和意义,以及它们如何影响我们的编程思维和实践。无论你是初学者还是有经验的开发者,这篇文章都将帮助你更深入地理解Java的OOP,并启发你思考如何在你的项目中应用这些概念。