赵栋201771010137第三周学习总结(代码片段)

zd0421 zd0421     2022-12-31     553

关键词:

自主学习任务

1、 复习课程第1-3章学习内容

2、 回顾实验三中实验题1《2018秋季西北师范大学面向对象程序设计(Java)(ch1-ch3)测试题1》,对照测试题参考答案,反思修改本人答卷的错误内容;

3、完成实验2与实验3;

4、修改置顶博文《面向对象程序设计课程学习进度条》,记录第三周个人编程水平提升参数

 

第一部分:复习第一到三章

1、第一章

           复习了Java语言的优点,发展简史,以及Java语言的关键术语和“白皮书”的特性,对Java的了解更加深刻了一点

2、第二章

          复习了如何安装java开发工具包(JDK)以及如何编译和运行不同类型的程序以及如何构建并运行applet

3、第三章

         复习了Java的数据类型,运算符,字符串等,重新学习了文件的输入输出,以及控制流程

第二部分:实验部分

1、实验目的与要求

  (1)进一步掌握Eclipse集成开发环境下java程序开发基本步骤;

  (2)熟悉PTA平台线上测试环境;

  (3)掌握Java语言构造基本程序语法知识(ch1-ch3);

  (4)利用已掌握Java语言基本程序设计知识,学习设计开发含有一个主类、类内可有多个方法的应用程序。

2、实验内容和步骤

 

  实验2:公民身份证号码按照GB11643—1999《公民身份证号码》国家标准编制,由18位数字组成:前6位为行政区划分代码,第7位至14位为出生日期码,第15位至17位为顺序码,第18位为校验码。从键盘输入1个身份证号,将身份证号的年月日抽取出来,按年-月-日格式输出。注意:输入使用Scanner类的nextLine()方法,以免出错。

输入样例:

34080019810819327X

输出样例:

1981-08-19

 

实验3:studentfile.txt文件内容是本班同学的学号与姓名,利用此文件编制一个程序,将studentfile.txt文件的信息读入到内存,并提供两类查询功能:(1)输入姓名查询学号;(2)输入学号查询姓名。要求程序具有友好人机交互界面

 3代码及结果

1>实验二

 代码如下

1 package jjj;
2 import java.util.Scanner;

3

4 public class hhh

5

6    public static void main(String[] args)

8         Scanner sc = new Scanner(System.in);

10        System.out.println("请输入身份证号码:");

11        String str = sc.nextLine();

12        String regex = "^[1-9]\\d5[1-9]\\d3((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d3([0-9]|X)$";

13        boolean flag = str.matches(regex);

14        if(flag == false)

15          System.out.println("身份证号码格式错误,请重新运行程序");

16             

17

18              String s1 = str.substring(6,10);
19              String s2 = str.substring(10,12);
20              String s3 = str.substring(12,14);
21              System.out.println("出生年月"+ "-"+ s1+ "-"+s2+ "-"+s3);
22   

 

23

24

结果验证如下:

 

 技术分享图片

2>实验三

(1)从文件中读入学生信息,可以编写如下函数:

public static void StudentsFromFile(String fileName))

(2)输入姓名查找学生学号,可以编写如下函数:

public static String findStudent(String name)

(3)输入学号查找学生姓名,可以编写如下函数:

public static String findStudent(String ID)

 代码如下

1 package mmm;
2
3  import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.FileReader;
6 import java.io.IOException;
7 import java.util.ArrayList;
8 import java.util.Scanner;
9
10
11 public class Test
12
13    
14
15    private static ArrayList<Student> studentList = null;
16
17    
18    
19     public static void StudentsFromFile(String fileName)
20         File file = new File(fileName);
21         BufferedReader reader = null;
22         try
23             reader = new BufferedReader(new FileReader(file));
24             String tempString = null;
25             while ((tempString = reader.readLine()) != null)
26                 String str[] = tempString.split(" ");
27                 if(studentList != null && str.length > 1)
28                     Student student = new Student();
29                     student.setStudentId(str[0]);
30                     student.setName(str[1]);
31 studentList.add(student);
32
33
34 reader.close();
35         catch (IOException e)
36 e.printStackTrace();
37         finally
38             if (reader != null)
39                 try
40 reader.close();
41                 catch (IOException e1)
42
43
44
45
46     public static String findStudentIdByName(String name)
47         String studentId = null;
48         for(Student student : studentList)
49             if(student.getName().equals(name))
50                 studentId = student.getStudentId();
51                 break;
52
53
54         return studentId;
55
56     public static String findStudentNameById(String ID)
57         String studentName = null;
58         for(Student student : studentList)
59             if(student.getStudentId().equals(ID))
60                 studentName = student.getName();
61                 break;
62
63
64         return studentName;
65
66     public static void main(String args[])
67         String path = "D:/studentfile.txt";
68         studentList = new ArrayList<Student>();
69 StudentsFromFile(path);
70         int statu = 1;
71         System.out.println();
72         while(statu != 0)
73             System.out.println("******************");
74             System.out.println("1:通过姓名查询学生学号");
75             System.out.println("2:通过学号查询学生姓名");
76             System.out.println("0:退出");
77             System.out.println("******************");
78             Scanner scanner = new Scanner(System.in);
79             statu = scanner.nextInt();
80             switch(statu)
81             case 1:
82                 System.out.println("请输入学生姓名:");
83                 Scanner scanner1 = new Scanner(System.in);
84                 String name = scanner1.nextLine();
85                 String Id = findStudentIdByName(name);
86                 if(Id != null)
87                     System.out.println("姓名: "+name+" 学号: "+Id);
88                 else
89                     System.out.println("不存在该学生!请重新查找");
90
91
92             break;
93             case 2:
94                 System.out.println("请输入学生学号:");
95                 Scanner scanner2 = new Scanner(System.in);
96                 String Id = scanner2.nextLine();
97                 String name = findStudentNameById(Id);
98                 if(name != null)
99                     System.out.println("姓名: "+name+" 学号: "+Id);
100                 else
101                     System.out.println("不存在该学生!请重新查找");
102
103             break;
104             case 0:
105                 statu = 0; break;
106             default:
107                 System.out.println("输入错误");
108
109        
110
111

 

 

结果验证如下:

 技术分享图片

实验总结:
    对前三章的理论知识内容复习了一遍,对一些没有掌握的的知识再次进行了学习,而实验三确实让我费尽了脑筋也没有弄会,最后还是经过舍友的帮忙才勉强完成了虽然是他的思路,但是通过他的帮忙也学到了很多,第一次感觉到了Java学习起来真不容易,好难啊。

 












201771010137赵栋《第九周学习总结》(代码片段)

1、实验目的与要求(1)掌握java异常处理技术;(2)了解断言的用法;(3)了解日志的用途;(4)掌握程序基础调试技巧;1.Throwable类中的常用方法注意:catch关键字后面括号中的Exception类型的参数e。Exception就是try代码块传递给catch代码块... 查看详情

201771010137赵栋《第八周学习总结》(代码片段)

实验六接口的定义与使用实验时间2018-10-181、实验目的与要求(1)接口定义:接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义;由常量和一组抽象方法组成;接口中的是所有方法自动地属于public... 查看详情

赵栋201771010137《面向对象程序设计(java)》第一周学习总结

《面向对象程序设计(java)》第一周学习总结第一部分:课程准备部分平台名称注册账号博客园:www.cnblogs.com/https://www.cnblogs.com/zd0421/程序设计评测:https://pintia.cn/[email protected]代码托管平台:https://github.com/STPPKJ中国大学MOOC... 查看详情

赵栋201771010137《面向对象程序设计(java)》第六周学习总结(代码片段)

 1、实验目的  在软件开发中,通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。因此,类的继承性使所建立的软件具有开放性... 查看详情

赵栋201771010137《面向对象程序设计(java)》第二周学习总结

 第一部分理论知识总结第三章Java的基本程序设计结构1.数据类型:一共有八种基本类型,4中整形,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型。2.变量:变量名必须是一个以... 查看详情

201771010137赵栋《面向对象程序设计(java)》第十七周学习总结(代码片段)

 (1)综合掌握java基本程序结构;(2) 综合掌握java面向对象程序设计特点;(3)综合掌握javaGUI 程序设计结构;(4)综合掌握java多线程编程模型;(5)综合编程练习。2、实验内容和步骤任务1:填写课程课后调查问卷,网址:htt... 查看详情

201771010137赵栋《面向对象程序设计(java)》第十七周学习总结(代码片段)

一、理论部分1、多线程并发执行中的问题i.多个线程相对执行的顺序是不确定的。ii.线程执行顺序的不确定性会产生执行结果的不确定性。iii.在多线程对共享数据操作时常常会产生这种不确定性。2、线程的同步-多线程并发运行... 查看详情

赵栋201771010137《面向对象程序设计(java)》

第一章第一章只要学习Java语言作为高级程序语言的优点,发展简史,以及Java语言的关键术语等,学习了第一章让我们能够更好地使用Java语言。1.Java语言是一种优秀的程序设计语言,像其他的优秀语言一样,Java具有令人赏心悦... 查看详情

第三周作业(代码片段)

学号20172313《程序设计与数据结构》第三周学习总结教材学习内容总结学习使用对象引用变量的声明与初始化以及注意事项。学习使用不同的类(String、Random、Math、DecimalFormat、printf)。学习“包”的概念以及使用。学习格式化输... 查看详情

2018-201920165227《信息安全系统设计基础》第三周学习总结(代码片段)

2018-201920165227《信息安全系统设计基础》第三周学习总结学习目标理解逆向的概念掌握X86汇编基础,能够阅读(反)汇编代码了解ISA(指令集体系结构)理解函数调用栈帧的概念,并能用GDB进行调试学习任务必学内容阅读教材,... 查看详情

20172301《程序设计与数据结构》第三周学习总结(代码片段)

20172301《程序设计与数据结构》第三周学习总结教材学习内容总结队列队列是一种线性集合,先进先出。元素一般从队列末端进入,从队列前端退出。在栈中,处理过程只在栈的一端进行;在队列中,处理过程在队列的两端进行... 查看详情

20172311《程序设计与数据结构》第三周学习总结(代码片段)

20172311《程序设计与数据结构》第三周学习总结教材学习内容总结第五章队列在任何的队列中,元素都是从一端进入,从另一端离开队列是一种线性集合,先进先出即第一个进入的元素也是第一个退出的元素与栈类似,队列中没... 查看详情

2018-2019-120172316《程序设计与数据结构》第三周学习总结(代码片段)

201723162017-2018-2《程序设计与数据结构》第三周学习总结教材学习内容总结第五章队列队列是一种线性结构,队列元素按照FIFO方式处理。队列和栈十分相似,所以只需要学习好前面两个章节就可以有效地理解“队列”的基本概念... 查看详情

201723132018-2019-1《程序设计与数据结构》第三周学习总结(代码片段)

201723132018-2019-1《程序设计与数据结构》第三周学习总结教材学习内容总结概述队列是一种线性集合,其元素从一端加入,从另一端删除;队列的元素是按FIFO方式处理的。第一个进入的元素,也就是第一个退出的元素。队列有队... 查看详情

2018-2019-120165228《信息安全系统设计基础》第三周学习总结(代码片段)

2018-2019-120165228《信息安全系统设计基础》第三周学习总结教材学习内容总结程序的机器级表示:计算机系统的两种重要抽象ISA(Instructionsetarchitecture):指令集体系结构,机器级程序的格式和行为。定义了处理器状态指令的格式... 查看详情

2018-2019-120165214《信息安全系统设计基础》第三周学习总结(代码片段)

201652142018-2017-1《信息安全系统设计基础》第三周学习总结教材学习内容总结1、实际上gcc命令调用了一系列程序,将源代码转化成可执行代码。2、存储器系统的实际实现是将多个硬件存储器和操作系统软件组合起来。3、ISA:指... 查看详情

第三周学习进度总结

在上一周的学习中,我每天的安排是上午学习,下午健身,晚上放松。在上午的学习中我通过B站找到了一些Java的学习视频,并每天坚持看,并跟着视频中老师的教学试着用esplise敲一些简单的代码。慢慢的发现其实学完c++/c再去... 查看详情

#2018-2019-120165230《信息安全系统设计基础》第三周学习总结(代码片段)

2018-2019-120165230《信息安全系统设计基础》第三周学习总结教材学习内容总结存储器系统的实际实现是将多个硬件存储器和操作系统软件组合起来。有效地址的计算方式Imm(Eb,Ei,s)=Imm+R[Eb]+R[Ei]*sISA:指令集体系结构,它定义了处理... 查看详情