首页 > 其他分享 >今日报告

今日报告

时间:2023-11-20 09:24:21浏览次数:28  
标签:studentID java 报告 int util studentList Student 今日

 

迭代器模式

 

信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL)实现对同学信息的遍历,要求按照学号从小到大和从大到小两种次序输出学生信息。

 

1. 搜集并掌握JAVA和C++中常见的数据结构和迭代器的使用方法,例如,vector, list, map和set等;

 

 

2. 提交源代码;

 

3. 注意编程规范。

Java代码:

 

Student.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

class Student {
    String name;
    int studentID;
    int age;

    public Student(String name, int studentID, int age) {
        this.name = name;
        this.studentID = studentID;
        this.age = age;
    }
}
StudentList.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

public class StudentList {
    public static void main(String[] args) {
        List<Student> studentList = new ArrayList<>();

        // 从学号20213000开始生成学生对象并添加到列表,年龄都设置成20岁
        int startingStudentID = 20213000;

        for (int i = 0; i < 44; i++) {
            studentList.add(new Student("学生" + (i + 1), startingStudentID + i, 20));
        }

        // 按学号升序排序
        Collections.sort(studentList, (s1, s2) -> Integer.compare(s1.studentID, s2.studentID));

        System.out.println("按学号从小到大:");
        printStudentInfo(studentList.iterator());

        // 按学号降序排序
        Collections.sort(studentList, (s1, s2) -> Integer.compare(s2.studentID, s1.studentID));

        System.out.println("\n按学号从大到小:");
        printStudentInfo(studentList.iterator());
    }

    private static void printStudentInfo(Iterator<Student> iterator) {
        while (iterator.hasNext()) {
            Student student = iterator.next();
            System.out.println("姓名: " + student.name + ",学号: " + student.studentID + ",年龄: " + student.age);
        }
    }
}

C++

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>

class Student {
public:
    std::string name;
    int studentID;
    int age;

    Student(std::string n, int id, int a) : name(n), studentID(id), age(a) {}
};

bool compareByIDAsc(const Student& s1, const Student& s2) {
    return s1.studentID < s2.studentID;
}

bool compareByIDDesc(const Student& s1, const Student& s2) {
    return s1.studentID > s2.studentID;
}

int main() {
    std::vector<Student> studentList;

    // 从学号20213000开始生成学生对象并添加到向量,年龄都设置成20岁
    int startingStudentID = 20213000;

    for (int i = 0; i < 44; i++) {
        studentList.push_back(Student("学生" + std::to_string(i + 1), startingStudentID + i, 20));
    }

    // 按学号升序排序
    std::sort(studentList.begin(), studentList.end(), compareByIDAsc);

    std::cout << "按学号从小到大:" << std::endl;
    for (const auto& student : studentList) {
        std::cout << "姓名: " << student.name << ",学号: " << student.studentID << ",年龄: " << student.age << std::endl;
    }

    // 按学号降序排序
    std::sort(studentList.begin(), studentList.end(), compareByIDDesc);

    std::cout << "\n按学号从大到小:" << std::endl;
    for (const auto& student : studentList) {
        std::cout << "姓名: " << student.name << ",学号: " << student.studentID << ",年龄: " << student.age << std::endl;
    }

    return 0;
}

 

 

 

 

标签:studentID,java,报告,int,util,studentList,Student,今日
From: https://www.cnblogs.com/zjq164/p/17843180.html

相关文章

  • 【专题】2022年中国跨境电商行业研究报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=32044近年来,我国的跨境电子商务发展迅速,在过去五年中,其贸易额增长率达到了16.2%,已经成为稳定对外贸易的一支重要力量。阅读原文,获取专题报告合集全文,解锁文末52份跨境电商行业相关报告。一方面,随着跨境电子商务的发展,跨境电子商务的监管政策得到了......
  • 今日头条我的收藏爬虫
    背景:今日头题我的收藏搜索功能很弱,收藏的文章在pc/手机上总是如法全部搜索出来。也给头条反馈了很多次,总是不搭理。实在忍受不了这种敷衍,决定自己写一个爬虫。 思路: 先解决有无问题,做一个最基础版本。、头条我的收藏是是get请求,返回的是json格式数据,直接使用requests发......
  • 第十二周Linux学习报告
    本周学习的是上周没有讲完的磁盘管理以及新学习的文件查找、打包压缩及解压磁盘管理1、修改挂载点的配置文件,目录在/etc/fstab,使用vim修 文件查找、打包压缩以及解压1、which命令查找符合条件的命令文件,可查看其是否存在以及执行的位置  2、locate命令可以让用户快速......
  • 今日报告
    今天再学习erp的内容时,学习到了在点击添加按钮时,如何让想要添加的内容显示在当前页面,而且不需要跳转页面。<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><metacharset="U......
  • 软件测试/人工智能|测试报告很难写,ChatGPT来帮你
    简介除了测试计划和测试方案,测试报告是另外一个令人头大的文档,但是我们又必须要写这个文档,所以我们还是得硬着头皮上,但是有了ChatGPT之后,写测试报告也变得简单了。本文就来向大家介绍如何使用ChatGPT来写测试报告。什么是测试报告?测试报告的主要目的是提供与测试结果相关的数......
  • 【专题】2023快手母婴行业数据报告PDF合集分享(附原数据表)
    品牌一直在思考如何更好地了解消费者的需求,特别是在年轻化和线上消费趋势加强的母婴行业。根据《2023母婴行业数据报告合集》,短视频直播平台成为该行业新的增长点。报告合集显示,母婴商品的消费人数在2022年全年和2023年前两个月均呈快速增长趋势。用户的购买力和品单价也在提升,实......
  • 【专题】2023年轻人催婚报告PDF合集分享(附原数据表)
    随着10月的到来,我们已经踏入了年末冲刺阶段,是否准备好应对家庭的盘问了?工作稳定、挣多少钱、买房与否,最后总是绕不开催婚话题。报告合集年轻人分享了自己面临的催婚压力和对婚姻的态度及看法。调查中,74.8%的人认为不存在结婚时限,而25.2%的人则有着结婚期限的设定,其中11.9%的人认为3......
  • 阿里云11月12日官方故障报告来了
    影响范围OSS、OTS、SLS、MNS等产品的部分服务受到影响,大部分产品如ECS、RDS、网络等运行不受影响。云产品控制台、管控API等功能受到影响。时间2023年11月12日17:39~19.20,故障时间为1小时41分。问题概况2023年11月12日17:39起,阿里云云产品控制台访问及管控A......
  • 数据分析报告写作指南?一文看懂!
    数据分析报告写作指南1.引言在撰写数据分析报告时,首先需要引入报告的背景和目的。简要介绍你所研究的问题或主题,为什么这个问题是重要的,以及你的分析将会对解决这个问题有何帮助。2.目标和方法明确阐述数据分析的具体目标,即你想要通过这次分析解决的问题或者获得的结论。而......
  • 如何撰写数据分析报告?
    前言数据分析报告是将数据收集、清洗、分析和结论得出的过程整理成书面形式的文档。一个好的数据分析报告能够使人们更好地理解数据所带来的信息和见解,为决策提供依据。在下面的部分,我将详细介绍如何撰写数据分析报告的步骤和要点。1.确定报告目的在撰写数据分析报告之前,首先......