«面向对象程序设计(java)»第三周学习总结周强201771010141

qq97 qq97     2022-12-31     262

关键词:

实验目的与要求

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

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

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

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

实验内容和步骤

实验1:采用个人账号登录https://pintia.cn/,使用邀请码588329加入PTA平台NWNU-2017NISE教学班(西北师范大学 计算机科学与工程学院 2017级 网络与信息安全),完成《2018秋季西北师范大学面向对象程序设计(Java)(ch1-ch3)测试题1》,测试时间120分钟;

实验2-实验3在课后完成

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

输入样例:

34080019810819327X

输出样例:

1981-08-19

实验的代码如下:

import java.util.Scanner;
public class ID1
public static void main(String[] args)

System.out.println("请输入身份证号18位!");
Scanner scanner=new Scanner(System.in);
String ID=scanner.nextLine();
while(ID.length()!=18)

System.out.println("身份证号码必须是18位");
ID=scanner.nextLine();

int i=6;
String year = ID.substring(i,i+4);
String month=ID.substring(i+4,i+6);
String day=ID.substring(i+6,i+8);
System.out.println(year+"-"+month+"-"+day);

实验结果:

技术分享图片

2.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)

实验代码:

package d;

  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 D

      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:\\Users\\周强\\Documents\\Tencent Files\\1260622021\\FileRecv\\实验三\\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("结束!");

      

    

   

技术分享图片

 

 实验总结:

通过几次实验本人对java这门学科真的不懂,只能尽自己最大努力去完成.对于Scanner类的使用还是不够熟练,由于对于所学知识还没有完全熟练的掌握,导致我对实验三无法正确的输出结果,我会继续查找自己的错误。也会更加深入的学习,不断地改正自己更加需要继续加强对相关知识的学习。



















webpack打包压缩es6文件报错uglifyjs+unexpectedtokenpunc«(»,expectedpunc«:»(示例代码

webpack打包压缩ES6jsreact报错:升级到babel6了ERRORin/Scripts/Test/test.bundle.jsfromUglifyJsUnexpectedtokenpunc?(?,expectedpunc?:?[/Scripts/Test/test.bundle.js:22901,解决方案:安装babel-preset-es2015npminstallbabel-pre 查看详情

vbscriptоткрыть«visualbasic»послезапуска«excel»。(代码片段)

查看详情

java面向对象大致梳理

...概述:Java设计语言面向对象:Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都... 查看详情

java面向对象

面向对象程序设计  面向对象程序设计(简称:OOP),是现在主流的程序设计。Java是完全面向对象的,我们必须理解才能更好的编写Java程序。  大家都知道C语言是面向过程的。那么C语言为什么叫面向过程,Java又为什么叫... 查看详情

java基础学习——面向对象思想

...学习面向对象的编程思想。Java语言是纯粹的面向对象的程序设计语言,这主要表现为Java完全支持面向对象的三种基本特征:封装(encapsulation)继承(inheritance)多态(polymorphism)Java语言完全以对象为中心,Java程序的最小程序单位是类... 查看详情

java面向对象三大特性总结(代码片段)

... 面向对象编程(ObjectOrientedProgramming,OOP,面向对象的程序设计)。所谓“对象”在显示支持面向对象的语言中,一般是指类在内存中装载的实力,具有相关的成员变量和成员函数(也称为:成员方法)。面向对象的程序设计... 查看详情

java面向对象程序设计思想(代码片段)

文章目录面向对象概念扩展:面向功能概念面向对象的三大特性封装封装的实现继承继承的实现C++和Java继承区别多态多态的实现类(对象)之间的关系UML类图泛化关系(Generalization)实现关系(Realization)聚合关系(Aggregation)组... 查看详情

java面向对象程序设计思想(代码片段)

文章目录面向对象概念扩展:面向功能概念面向对象的三大特性封装封装的实现继承继承的实现C++和Java继承区别多态多态的实现类(对象)之间的关系UML类图泛化关系(Generalization)实现关系(Realization)聚合关系(Aggregation)组... 查看详情

java面向对象

面向对象编程相对于面向过程编程而言1)面向过程和面向对象的区别 将面向过程编写的代码模块化,形成多个程序组件,最终拼装运行 面向过程编程方式代码冗余较多,维护和扩展成本高,不易开发大型程序 面向对象编程:在中大型... 查看详情

面向对象的编程思想和java中类的概念与设计

面向对象的编程思想学习,面向对象内容的三条主线;1.java类及类的对象2.面向对象的三大特征3.其他关键字学习内容:3.1面向对象与面向过程面向对象与面向过程在应用上的区别Java中类的概念与设计类与类之间的关系面向对象的... 查看详情

java基础面向对象编程

1.理解面向对象1.1面向对象程序设计(oop)  程序=对象+对象+。。。  数据第一,算法第二  关键:让每一个对象负责执行一组相关任务1.2.面向对象编程的特性  在java语言中,万物皆对象,  程序是一组对象彼此之... 查看详情

1-理解面向对象

   java语言是纯粹的面向对象的程序设计语言,主要表现为java完全支出面向对象的三种基本特征:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。java语言以对象为中心,java程序的最小单位是类,整个java程序是由一个... 查看详情

java面向对象

...全支持面向对象的继承、封装、多态,纯粹的面向对象的程序设计语言。Java以对象为中心,整个程序由类(Java的最小的程序单位)组成。Java是一个静态语言,一个类完成定义后,只要不重新编译,则类和其对象的方法和属性是... 查看详情

初学java面向对象

...向对象   面向对象是一种直观而且程序结构简单的程序设计方法,其基本思想是把问题看成是由若干个对象组成,这些对象之间是相互独立的但又相互之间有关系,可惜相互配合相互协调进而完成整个程序要实现的任务和... 查看详情

java面向对象

1. 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程。2.面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么... 查看详情

实验二:java面向对象程序设计

实验二Java面向对象程序设计目录[一、单元测试和TDD](#first)[任务一:实现百分制成绩转成“优、良、中、及格、不及格”五级制成绩的功能](#firstTask)[任务二:以TDD的方式研究学习StringBuffer](#SecondTask)[二、面向对象三要素:封装... 查看详情

java与面向对象设计

1面向对象与面向过程2.OO的特点 (1)封装性(2)继承性(3)多态性3.ClassandObject(1)defineaclass(2)gloablesandlocalvariables(3)constructor‘sdefinationandapplication(4)createanobjectdeclrationanobject allocatememory(5)us 查看详情

java面向对象概述和三大特性

...。 1、面向对象思想  面向对象编程是当今主流的程序设计思想,已经取代 查看详情