焦旭超201771010109《面向对象程序设计(java)》第三周学习总结

理论知识学习部分

第一章:简单了解java语言的程序设计平台及java的优劣。

第二章:安装java开发工具包,使用命令行工具,使用集成开发环境,进行简单的java程序设计。

第三章:3.1-3.7 了解注释类型,数据类型,变量,运算符,字符串,输入输出(读取输入,格式化输出,文件输入与输出)。

    3.8 五种语句:控制语句:if,switch(分支),for while,do while(循环)

         方法调用语句:system.out.pritln(“...”)

         表达式语句:x=23;i++;

         复合语句:{z=x+3;ststem.out...}用{}括起来

         package语句和import语句

    3.9 当基本的整数和浮点数精度不能满足需求是,可以使用java.math包中的两种类:BigInteger和BigDecimal。

    3.10 数组名字=new 数组元素类型【个数】

      如:boy=new float[5]

      int[] age=new int[10]

     for each 循环语句的循环变量会历遍数组中每个元素,而不需要使用下标值。

实验部分

实验2:

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

输入样例:

34080019810819327X

输出样例:

1981-08-19

ps:本实验做字符串截取

实验3:

studentfile.txt文件内容是本班同学的学号与姓名,利用此文件编制一个程序,将studentfile.txt文件的信息读入到内存,并提供两类查询功能:

(1)输入姓名查询学号;(2)输入学号查询姓名。

要求程序具有友好人机交互界面。

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

public static void StudentsFromFile(String fileName))

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

public static String findStudent(String name)

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

public static String findStudent(String ID)

代码如下:

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Scanner;
public class Main {

		      private static ArrayList<Student>studentList  = null;

		      public static void StudentsFromFile(String fileName){

		          File file = new File(fileName);  

		          BufferedReader reader = null;  

		          try {  

		              reader = new BufferedReader(new FileReader(file));  

		              String tempString = null;  

		              while ((tempString = reader.readLine()) != null) {  

		                  String str[] = tempString.split(" ");

		                if(studentList!= null && str.length > 1) {

		                    //Object studentId;

		                    Student student = new Student();

		                     student.setStudentId(str[0]);

		                    student.setName(str[1]);

		                    studentList.add(student);

		                 }

		              }  

		              reader.close();  

		          } catch (IOException e) {  

		             e.printStackTrace();  

		         } finally {  

		              if (reader != null) {  

		                  try {  

		                      reader.close();  

		                  } catch (IOException e1) {  

		                  }  

		              }  

		          }

		      }

		     public static String findStudentIdByName(String name) {

		          String studentId = null;

		          for(Student student : studentList) {

		              if(student.getName().equals(name)) {

		                  studentId = student.getStudentId();

		                  break;

		              }

		          }

		          return studentId;

		      }

		      public static String findStudentNameById(String ID) {

		          String studentName = null;

		          for(Student student : studentList) {

		              if(student.getStudentId().equals(ID)) {

		                  studentName = student.getName();

		                  break;

		              }

		          }

		          return studentName;

		      }

		      public static void main(String args[]) {

		          String path = "C:\\studentfile.txt";

		        studentList = new ArrayList<Student>();

		          StudentsFromFile(path);

		          int statu = 1;

		          System.out.println();

		          while(statu != 0) {

		              System.out.println("******************");

		              System.out.println("1:输入姓名查询同学的信息");

		              System.out.println("2:输入学号查询同学的信息");

		             System.out.println("0:返回");

		              System.out.println("******************");

		              Scanner in = new Scanner(System.in);

		              statu = in.nextInt();

		              switch(statu) {

		              case 1:{                  System.out.println("请输入学生姓名:");

		                 Scanner scanner1 = new Scanner(System.in);

		                  String name = scanner1.nextLine();

		                  String Id = findStudentIdByName(name);

		                  if(Id != null) {

		                      System.out.println("姓名: "+name+" 学号: "+Id);

		                  }else {

		                      System.out.println("无此学生,请确认");

		                  }

		              }break;

		              case 2:{

		                  System.out.println("请输入学生学号:");

		                  Scanner scanner2 = new Scanner(System.in);

		                  String Id = scanner2.nextLine();

		                  String name = findStudentNameById(Id);

		                  if(name != null) {

		                      System.out.println("姓名: "+name+" 学号: "+Id);

		                 }else {

		                     System.out.println("无此学生,请确认");

		                 }

		             }break;

		             case 0:

		                 statu = 0; break;

		             default:

		                 System.out.println("输入错误");

		             }

		          }     

		          System.out.println("结束!");

		      }

	}

  

实验总结

这一周学习的理论知识不多,但都比较重要,流程控制语句如:条件语句,循环语句等相关语句的知识,和大数值的和数组的知识。实验三用到了前面学习的文件读写等内容,难度比较大,所以请教了其他同学。通过本次实验我知道前面学习的知识都没有掌握。接下来还要继续努力。

原文地址:https://www.cnblogs.com/lcjcc/p/9657818.html

时间: 2024-08-02 00:04:30

焦旭超201771010109《面向对象程序设计(java)》第三周学习总结的相关文章

201771010109 焦旭超《面向对象程序设计(java)》第十二周学习总结

1.实验目的与要求 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: (2) 掌握Java GUI中2D图形绘制常用类的API: (3) 了解Java GUI中2D图形中字体与颜色的设置方法: (4) 了解Java GUI中2D图像的载入方法. 2.实验内容和步骤 实验1: 导入第10章示例程序,测试程序并进行代码注释. 测试程序1: l 运行下列程序,观察程序运行结果. import javax.swing.*; public class SimpleFrameTest {

201771010109焦旭超《面向对象程序设计》第十八周学习总结

1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: (5) 综合编程练习. 2.实验内容和步骤 任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx. 任务2:综合编程练习 练习1:设计一个用户信息采集程序,要求如下: (1) 用户信息输入界面如下图所示: (1)用户点击提交按钮时,用户输入信息显

201771010109焦旭超《面向对象程序设计(java)》第十一周学习总结

1.实验目的与要求 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: (2) 了解java集合框架体系组成: (3) 掌握ArrayList.LinkList两个类的用途及常用API. (4) 了解HashSet类.TreeSet类的用途及常用API. (5)了解HashMap.TreeMap两个类的用途及常用API: (6) 结对编程(Pair programming)练习,体验程序开发中的两人合作. 2.实验内容和步骤 实验1: 导入第9章示例程序,测试程序并

201771010109焦旭超《面向对象程序设计(java)》第十六周学习总结

1.实验目的与要求 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程的优先级属性及调度方法: (4) 掌握线程同步的概念及实现技术: 2.实验内容和步骤 实验1:测试程序并进行代码注释. 测试程序1: l 在elipse IDE中调试运行ThreadTest,结合程序运行结果理解程序: l 掌握线程概念: l 掌握用Thread的扩展类实现线程的方法: 利用Runnable接口改造程序,掌握用Runnable接口创建线程的方法. class Lefthand ex

201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结

项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475377.html 作业学习目标 学习并掌握Java Application程序结构: 学习并掌握Java语言的数据类型与变量: 学会使用Java运算符构造各类表达式: 掌握Java Application输入输出技术: 掌握Java流程控制技术(分支.循环): 掌握Math类.Strin

201771010123汪慧和《面向对象程序设计Java》第二周学习总结

一.理论知识部分 1.标识符由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字.标识符可用作: 类名.变量名.方法名.数组名.文件名等.第二部分:理论知识学习部分 2.关键字就是Java语言中已经被赋予特定意义 的一些单词. ?常见有:class.public.try.catch.if. float.import.void等. 关键字不做变量名. 3.Java有三种注释的方式:   // 注释内容由//一直到此行结束. /*和*/ 定义一个注释块.  /**开始,*/结束 这种注释方法

学号 2019-2020-1 《数据结构与面向对象程序设计》第五周学习总结

学号 2019-2020-1 <数据结构与面向对象程序设计>第X周学习总结 教材学习内容总结 super和this: this 一是引用隐式参数. 二是调用该类其他构造器. super 调用父类的方法. 调用父类的构造器. 通过super关键字来实现对父类成员的访问,用来引用当前对象的父类,super与this引用不是类似的概念,因为super不是一个对象引用,不能将super赋给另一个对象变量,它只是一个指示编译器调用超类方法的特殊关键字,super指向父类,this是指向自己的引用. 继承

《数据结构与面向对象程序设计》第5周学习总结

学号20182329 2019-2020-1 <数据结构与面向对象程序设计>第5周学习总结 教材学习内容总结 首先学习Java Socket的编程,后面实验45都要用到,来传递数据. 学习凯撒密码的使用方法 学习Java密码的DES算法和RSA算法还有HD算法 编写简单计算器(有理数计算器). 使用试验1里面的方法和实验三代码,编写客户端,客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴B(服务器端),服务器端根据字符串计算出结果为5

201671010117 2016-2017-2 《Java程序设计》Java第三周学习心得

Java第三周学习心得 通过这一周的学习,了解到了Java的核心部分,理解了用户自定义类的定义 ,了解了对象的声明 ,了解了使用构造函数初始化对象 ,使用类属性与方法的使用,了解了package和import语句的用途,知道了假设你面对现实世界的一个对象,你不会把它的属性和处理方法分开,程序设计也是一样.面向对象程序设计(OOP):一种新的思维方法,更接近人类处理现实世界问题的自然表示方法.面向对象的语言有:C++,Smalltalk,Java等.面向对象程序设计的几个主要概念:抽象数据类型.类

20165235祁瑛 2018-3 《Java程序设计》第三周学习总结

20165235祁瑛 2018-3 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象学习总结 类:java作为面向对象型语言具有三个特性:①封装性.②继承性.③多态性.java中类是基本要素,类声明的变量叫对象.在类中定义体的函数题叫方法. 类与程序的基本结构:(一)构造方法:创建对象时用,构造方法与类同名,没有类型.可以创建构造方法,但要保证参数个数不同或参数类型不同.(二)为对象分配变量时要用new字符.用"."运算符来操作对象.(三)java有若干个类构