实验三 Java基本程序设计(2

实验时间 2018-9-13

第一部分:理论知识回顾

第一章

再次了解了java“白皮书”的关键术语,java的常见术语,对于大多数“白皮书”的关键术语依然不太理解。了解到java和C语言具有一定的相似性。

第二章

主要学习了java的环境配置,在修改路径的时候出现问题。会导致在cmd运行命令时出现无法加载主类等问题。

第三章

第三章主要讲述了java的基本语法,再次了解了java的五种语句,对于文件的输入输出,还有很大的问题。了解了break语句有带标签和不带标签之分。

第二部分:实验部分

1、实验目的与要求

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

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

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

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

2、实验内容和步骤

实验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.*;

public class 身份证信息 {

public static void main(String[] args){

Scanner in = new Scanner(System.in);

while(true){

System.out.println("请输入您的身份证号");

String n = in.nextLine();

if(n.length() == 18) {

String year =(String) n.substring(6,10);

String month = (String) n.substring(10,12);

String day = (String) n.substring(12,14);

System.out.println("您的出生日期是:"+year+"年"+month+"月"+day+"日");

break;

}else {

System.out.println("请输入正确的身份证号码");

}

}

}

}

实验中遇到的问题:可以输入一个身份证号,得到出生日期,但是在判断输入的身份证号码是否正确时遇到问题,一开始选择了if选择语句,但是只能执行一遍,不能在错误之后重新输入,然后使用了while语句解决。

实验3studentfile.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 班级成员表;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class 班级成员表
{
public static void main(String[] args) {
File file=new File("c:\\","studentfile.txt");
try
{
FileOutputStream fos=new FileOutputStream(file);
String s=new String("20177101013 王之泰\r\n" +
"201771010129 王颖奇\r\n" +
"201771010120 苏浪浪\r\n" +
"201771010122 王斌龙\r\n" +
"201771010117 马兴德\r\n" +
"201771010123 汪慧和\r\n" +
"201771010127 王艳\r\n" +
"201771010107 冯志霞\r\n" +
"201771010130 王志成\r\n" +
"201771010143 张云飞\r\n" +
"201771010124 王海珍\r\n" +
"201771010136 杨野\r\n" +
"201771010142 张燕\r\n" +
"201771010121 唐月晨\r\n" +
"201771010111 李瑞红\r\n" +
"201771010113 李婷华\r\n" +
"201771010137 赵栋\r\n" +
"201771010139张季跃\r\n" +
"201771010110 孔维滢\r\n" +
"201771010119 穷吉\r\n" +
"201771010104 狄慧\r\n" +
"201771010105 达拉草\r\n" +
"201771010134 杨其菊\r\n" +
"201771010116 马凯军\r\n" +
"201771010103 陈亚茹\r\n" +
"201771010102 常惠琢\r\n" +
"201771010118 马昕璐\r\n" +
"201771010128 王玉兰\r\n" +
"201771010101 白玛次仁\r\n" +
"201771010125 王瑜\r\n" +
"201771010135 杨蓉庆\r\n" +
"20177101115 刘志梅\r\n" +
"201771010141 周强\r\n" +
"201772020113 李清华\r\n" +
"201771010114 李晓菁\r\n" +
"201771010132 徐思\r\n" +
"201771010138 邹丰蔚\r\n" +
"201771010112 罗松\r\n" +
"201771010133 杨玲\r\n" +
"201771010126 王燕\r\n" +
"201771010108 韩腊梅\r\n" +
"201771010106 东文财\r\n" +
"201771010109 焦旭超\r\n" +
"");
byte[] output=s.getBytes();
fos.write(output);
System.out.println("文件写入成功");
fos.close();
}
catch(Exception e)
{
e.printStackTrace();
}

try
{

FileInputStream fis=new FileInputStream(file);
byte[] input=new byte[(int)file.length()];
fis.read(input);
System.out.println("文件大小为:"+input.length);
String content=new String(input) ;
System.out.println("文件内容为:"+content);
}
catch(Exception e)
{
e.printStackTrace();
}

}
}

实验中遇到的问题:仅仅可以通过程序把这一段字符串做成一个文本保存到c盘,并在控制台输出,但是不能按照学号和姓名来查询个人信息。

第三周java实验报告的更多相关文章

  1. 20155310第一周JAVA实验报告

    20155310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  2. 20145310第一周JAVA实验报告

    20145310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  3. 第三次Java实验报告

    Java实验报告 班级 计科二班 学号20188437 姓名 何磊 完成时间 2019/9/22 评分等级 实验三 String类的应用 实验目的 掌握类String类的使用: 学会使用JDK帮助文档 ...

  4. Java第三周总结&实验报告(1)

    总结:不知不觉,到了第三周,回顾这一周,我更加深入了解了main方法,除此之外,学习了两个关键字,一个this,一个static,this在强调属性时,只能放在句首且不能循环调用,static声明用于 ...

  5. 第三周总结&实验报告一

    第三周总结 在这周对Java进行了更深层次的学习,Java的学习也越来越难了,慢慢的加入了一些新的构造新的方法,还有许许多多简化代码的相关知识,我还是要认真的去吃透这些知识,自己也要慢慢的去研究一些题 ...

  6. 第六周&java实验报告四

    实验报告: 一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:rad ...

  7. 20145307第一周JAVA实验报告

    20145307 <Java程序设计>第一次实验实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 ...

  8. 第六周&Java实验报告四(类的继承)

    一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆 ...

  9. 20145322第一次JAVA实验报告

    20145322第一周JAVA实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验名称:Java开发环境的熟悉(Linux + Eclipse) 实验日期:2016.04.08 实 ...

随机推荐

  1. configure: error: C compiler cannot create executables报错处理

    在测试环境安装php的imagick扩展在执行./configure生成编译文件时出现报错如下: 通过查看config.log发现有报错,在网上经验教程里发现前面的报错不管,直奔最后的报错即可,发现是 ...

  2. Vimium - 让你体验Geek般的浏览体验

    相信很多电脑高手们都会寻找一一些快捷高效的操作方式,如经常利用键盘的快速操作,让你脱离鼠标,可以让你不用花太多精力地去移动细小的指针进行操作,使得工作的效率提高许多. 不过,实际上很多时候我们还是不得 ...

  3. 生鲜电商的两极战:巨头VS地头

    ​ ​ "九月蟹黄满,十月蟹肉香",螃蟹年年相似,总是美味无边,但购买渠道却随着互联网普及而变得愈发多样起来.此前,大闸蟹礼券风靡就是最佳代表之一.虽然也引发诸多问题,但消费者也越 ...

  4. GoLand2019.03破解与汉化

    1.准备工作 (请认真的做好准备工作,否则中途可能会操作失败.) GoLand是JetBrains公司发布的商业版的GO语言编辑器(收费的),本屌目前还没钱购买正版,所以本次教程是以Windows平台 ...

  5. Ubuntu 18.04 国内的 apt 源

    一.Ubuntu 18.04 国内的 apt 源 1. 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted univers ...

  6. Mysql或者SQL Server数据库的运行机制和体系架构

    一.MySQL主要分为以下几个组件: 连接池组件 管理服务和工具组件 SQL接口组件 分析器组件 优化器组件 缓冲组件 插件式存储引擎 物理文件 二.MySql的组成:Mysql是由SQL接口,解析器 ...

  7. C#编程_单线程IP地址解析

    单线程IP地址解析 目标程序 界面如下图 ​ 设计方法:完成单个IP地址解析,循环调用方法,完成扫描. 注意用stopwatch计算时间. 实现思路 先知道怎么解析一个单个的IP地址. 用循环的方法解 ...

  8. 教你如何使用css隐藏input的光标

    今天公司的ui突然跑过来问我一个问题:"如何在不影响操作的情况下,把input的光标隐藏了?". 我相信很多人会跟我一样,觉得这是个什么狗屁需求,输入框不要光标这不是反人类吗?可惜 ...

  9. 前端每日实战:152# 视频演示如何用纯 CSS 创作一个圆点错觉效果

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/gBwzKR 可交互视频 此视频是可 ...

  10. 用jQuery怎么做到前后端分离

    传统的web开发模式想必大家都知道,不管是jsp.asp.php或者一些魔板引擎开发,其实道理都是一样的,都是服务端渲染,原理是:浏览器发送一个get请求,服务器对应的返回前端一个html页面,由浏览 ...