首页 > 其他分享 >11.19

11.19

时间:2024-12-18 16:23:35浏览次数:3  
标签:studentid java 11.19 Student2 add new public

软件设计                  石家庄铁道大学信息学院

 

实验18:迭代器模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 

1、理解迭代器模式的动机,掌握该模式的结构;

2、能够利用迭代器模式解决实际问题。

 

[实验任务一]:JAVA和C++常见数据结构迭代器的使用

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

实验要求:

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

①、ArrayList1.java

package org.example.shiyanshiba;

import java.util.ArrayList;
import java.util.Iterator;

public class ArrayList1 {
    public static void main(String[] args) {
        ArrayList<Integer> arrayList = new ArrayList<>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        System.out.println(arrayList);
        Iterator<Integer> iterator = arrayList.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}

 

 

②、LinkedList.java

package org.example.shiyanshiba;

import java.util.Iterator;
import java.util.LinkedList;

public class LinkedList1 {
    public static void main(String[] args) {
        LinkedList<String> linkedList = new LinkedList<>();
        linkedList.add("a");
        linkedList.add("b");
        linkedList.add("c");
        System.out.println(linkedList);
        Iterator<String> iterator = linkedList.iterator();
        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);
        }
    }
}

 

 

 

③、HashMap.java

package org.example.shiyanshiba;

import java.util.HashMap;
import java.util.Map;

public class HashMap1 {
    public static void main(String[] args) {
        HashMap<String,Integer> hashMap=new HashMap<>();
        hashMap.put("a",1);
        hashMap.put("b",2);
        hashMap.put("c",3);
        System.out.println(hashMap);
        for(Map.Entry<String,Integer> entry:hashMap.entrySet()){
            System.out.println(entry.getKey()+": "+entry.getValue());
        }
    }
}

 

 

④、HashSet.java

package org.example.shiyanshiba;

import java.util.HashSet;
import java.util.Iterator;

public class HashSet1 {
    public static void main(String[] args) {
        HashSet<String> hashSet=new HashSet<>();
        hashSet.add("a");
        hashSet.add("b");
        hashSet.add("c");
        System.out.println(hashSet);
        Iterator<String> iterator=hashSet.iterator();
        while(iterator.hasNext()){
            String element=iterator.next();
            System.out.println(element);
        }
    }
}

 

 

2. 提交源代码;

①、Student.java

package org.example.shiyanshiba;

public class Student implements Comparable<Student> {
    private int studentid;
    private String name;
    private int age;

    public Student(int studentid, String name, int age) {
        this.studentid = studentid;
        this.name = name;
        this.age = age;
    }

    @Override
    public int compareTo(Student o) {
        if (this.studentid < o.studentid) {
            return -1;
        } else if (this.studentid > o.studentid) {
            return 1;
        } else {
            return 0;
        }
    }
    @Override
    public String toString() {
        return "姓名:"+this.name+",学号:"+this.studentid+",年龄:"+this.age;
    }
}

 

②、Student2.java

package org.example.shiyanshiba;

public class Student2 implements Comparable<Student2> {
    private int studentid;
    private String name;
    private int age;

    public Student2(int studentid, String name, int age) {
        super();
        this.studentid = studentid;
        this.name = name;
        this.age = age;
    }

    @Override
    public int compareTo(Student2 o) {
        if (this.studentid < o.studentid) {
            return -1;
        } else if (this.studentid > o.studentid) {
            return 1;
        } else {
            return 0;
        }
    }
    @Override
    public String toString() {
        return "姓名:"+this.name+",学号:"+this.studentid+",年龄:"+this.age;
    }
}

 

③、Client.java

package org.example.shiyanshiba;

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

public class Client {
    public static void main(String[] args) {
        Student s1=new Student(20223730,"陈志峰",21);
        Student s2=new Student(20223731,"叶振钧",21);
        Student s3=new Student(20223732,"王晓菲",21);
        Student s4=new Student(20223733,"梁家显",21);
        Student s5=new Student(20223734,"李文举",21);
        Student s6=new Student(20223735,"陈庆振",20);
        Student2 s7=new Student2(20223730,"陈志峰",21);
        Student2 s8=new Student2(20223731,"叶振钧",21);
        Student2 s9=new Student2(20223732,"王晓菲",21);
        Student2 s10=new Student2(20223733,"梁家显",21);
        Student2 s11=new Student2(20223734,"李文举",21);
        Student2 s12=new Student2(20223735,"陈庆振",20);
        List<Student> list=new ArrayList<>();
        list.add(s1);
        list.add(s2);
        list.add(s3);
        list.add(s4);
        list.add(s5);
        list.add(s6);
        Collections.sort(list);
        System.out.println("学号按从大到小输出:");
        for(Student student:list){
            System.out.println(student.toString());
        }
        System.out.println("``````````````````````");
        List<Student2> list2=new ArrayList<>();
        list2.add(s7);
        list2.add(s8);
        list2.add(s9);
        list2.add(s10);
        list2.add(s11);
        list2.add(s12);
        Collections.sort(list2);
        System.out.println("年龄从大到小输出:");
        for(Student2 student:list2){
            System.out.println(student.toString());
        }
        System.out.println("``````````````````````");
    }
}

 

3. 注意编程规范。

 

 

标签:studentid,java,11.19,Student2,add,new,public
From: https://www.cnblogs.com/zzqq1314/p/18615242

相关文章

  • 11.19
    优化思想 1. 必须测量性能人的感觉对于检测性能提高了多少来说是不够精确的。人的记忆力不足以准确地回忆起以往多次实验的结果。本内侧的知识可能会误导你,使你相信了一些并非总是正确的事情。当判断是否应当对某段代码进行优化的时候,开发人员的直觉往往差得令人吃惊。他们......
  • 2024.11.19 第一次讲座
    讲座的课后反思:提升数字素养今天听了来自青浦区的教研员张杨旭老师的讲座,收获和思考颇丰。张老师分享了在数字时代和人工智能背景下,教育者应具备的数字素养,以及如何利用这些技术改进教学方法。通过四个案例,分别展示了历史、思政、探究和信息四门课程的数字化应用,强调了个性化教......
  • 11.19[JAVA-WEB]打通JAVA前后端-JSP
    JAVA网页开发(涉及服务器)结构是什么?代码逻辑是怎样的?JAVA网页开发(涉及服务器)结构是什么?代码逻辑是怎样的?(不使用spring框架)HTML、CSS和JavaScript运行在浏览器中,称为前端脚本服务器端脚本是运行在服务器上,动态生成网页(HTML、CSS和JavaScript)的程序。常见服务器端脚本......
  • 11.19
    创建表CAEATETABLE表名(字段名1数据类型1,字段名2数据类型2);删除表DROPTABLE表名修改表ALTERTABLE表名RENAMETO新的表名ALTERTABLE表名ADD列名数据类型ALTERTABLE表名MODIFY列名新数据类型DML给指定的列添加数据INSERTINTO表名(列名1,列名2,)VALUE......
  • 11.19-task1
    安装!在安装时最好开启steam++miniconda的安装:minicondaorconda<!使用conda的用处:使多个版本共同存在,类似应用多开>更换镜像源输入最后一行;在终端输入上述代码,打开文件用上述代码代替文件内容pypi软件仓库复制上述代码到conda终端创建与激活......
  • 上周热点回顾(11.13-11.19)
    热点随笔:· 30岁之前透支,30岁之后还债。 (程序员济癫)· .NET8正式发布 (张善友)· 阿里云崩了,总结我们从云上搬到线下经历了什么 (iNeuOS工业互联网系统)· 最后的一次努力:尝试解决百度收录与排名问题 (博客园团队)· .NET8.0AOT经验分享FreeSql/FreeRedis/FreeSch......
  • 每日总结-23.11.19
    importjava.util.Stack;publicabstractclassAbstractCommand{publicabstractintexecute(intvalue);publicabstractintundo();publicabstractintredo();}publicclassAddCommandextendsAbstractCommand{privateAdderadder=newA......
  • 11.19(函数)
    函数是什么?1.函数就是一个大型程序中某部分代码,由一个或多个模块组成。相较于其他代码,有一定的独立性。2.一般函数都有独立信函数的分类:a:函数库:C语言本身提供的函数b:自定义函数:体现的解决问题的能力函数的调用:传值调用  传址调用#include<stdio.h>#include<math.h>intis_p......
  • 2023.11.19 NOIP 总结
    考试复盘进场读了下题,T1很简单,并且后面三道题都挺可做的。因为可以任意交换,直接令当前串字典序最小,其它串字典序最大,然后比较一下就完事了。因为字符集大小只有\(26\),直接开桶模拟就可以了。发现不是很好写,想了一下其实只需要判断一下当前串字典序最小的字母的字典序是否大于其......
  • 11.18 && 11.19
    发现好多学长都退役了......