【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 {

        }

执行结果:

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 {
      
    }

}

执行结果:

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亿

执行结果

posted @ 2022-11-09 08:10  陶然同学  阅读(10)  评论(0编辑  收藏  举报