实验报告 实验题目 Java 实验 (1) 实验目的 学习 Java 语言的编程 实验准备 直接从网上或从上传作业的网站上下载并安装 JDK

Similar documents
KillTest 质量更高 服务更好 学习资料 半年免费更新服务

新・解きながら学ぶJava

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

Microsoft Word - 第3章.doc

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

JavaIO.PDF

untitled

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,


使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

untitled

untitled

实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循

javaexample-02.pdf

untitled

CHAPTER VC#

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

Chapter 9: Objects and Classes

chp6.ppt

第3章.doc

untitled

Microsoft Word - 01.DOC

基于CDIO一体化理念的课程教学大纲设计

x MapReduce A Italic URL Constant width Constant width bold Constant width italic 這個圖示代表提示或建議 這個圖示代表一般註解

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

untitled

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

// 获取并集 // set1.addall(set2); // 获取交集 set1.retainall(set2); // 打印操作结果 set1.foreach(o -> System.out.println(o)); 运行结果如图 6-1 所示 图 6-1 运行结果 三 案例总结 1 Coll

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

EJB-Programming-4-cn.doc

第二章 Java 语法基础 实验目的 (1) 常量 变量与数据类型 a. 掌握 Java 的常量 变量声明及使用方法 b. 掌握 Java 各种数据类型的使用 c. 掌握基本的输入输出方法 (2) 运算符与表达式 a. 掌握算术运算 关系运算 逻辑运算, 及优先关系 b. 掌握表达式的使用 (3)

EJB-Programming-3.PDF

使用MapReduce读取XML文件

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

第一章 Java简介与开发环境的搭建

JAVA String常用APi

3.1 num = 3 ch = 'C' 2

java2d-4.PDF

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

while ((ch = fr.read())!= -1) { System.out.print((char) ch); fr.close(); 例 3: 用 BufferedReader 读 TXT 文件 public class FileReaderDemo3 { public static v

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

Swing-02.pdf

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

IoC容器和Dependency Injection模式.doc

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

Java

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

CHAPTER 1

Chapter 9: Objects and Classes

《大话设计模式》第一章

untitled

Guava学习之Resources

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

CC213

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

untitled

Java 大师之路

第五章数组 实验目的 (1) 掌握一维 二维数组的定义及初始化方法 (2) 掌握循环结构域数组相结合解决问题的方法 (3) 理解数组下标和数组元素间的关系 (4) 掌握 List 类的使用方法 实验范例 1 静态数组 (1) 数组例 1:( 一维数组 ) 输入一行字符, 分别统计出其中英文字母 空格

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

RxJava

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

untitled

Microsoft Word - sy09_实验09_字符串和文本IO.docx

chap07.key

電機工程系認可證照清單 /7/1

<4D F736F F D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

获取 Access Token 1 基础概念 access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要妥善保存,access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新

[剑指offer] 面试题43:n个骰子的点数(Java),[剑指offer] 面试题42: 翻转单词顺序 VS左旋转字符串(Java),[剑指offer] 面试题41:和为s的两个数字VS和为s的连续序列

附录J:Eclipse教程

OOP with Java 通知 Project 6: 6 月 6 日晚 9 点

C/C++ - 函数

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

PowerPoint Presentation

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

Microsoft Word - Broker.doc

SB 綱 領 : (1) 消 防 服 務 管 制 人 員 : 就 年 度 需 要 特 別 留 意 的 事 項 中, 當 局 提 到 年 度 內, 消 防 處 會 啟 用 啟 德 新 建 並 設 有 救 護 設 施 的 消 防 局, 請 告 知 有 關

untitled

软件工程文档编制

Java 1 Java String Date

1.5招募说明书(草案)

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

(Microsoft Word - \272\364\263q\245|\244A_ _\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc)

Microsoft Word - 新1-12.doc

Microsoft Word - 小心翼翼的二十一點N.doc

2009年9月全国计算机等级考试二级Java真题及答案

天仁期末個人報告1.PDF

新版 明解C++入門編

Microsoft Word - ch04三校.doc

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

Transcription:

实验题目 Java 实验 (1) 实验目的 学习 Java 语言的编程 实验准备 直接从网上或从上传作业的网站上下载并安装 JDK http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html 预备知识 (1) 常量定义 final int LEVEL_NUM = 1000; (2) 动态数组定义 int fibs[]=new int[cnt]; (3)foreach 语句 double sum = 0; double scores[] = {100.0, 90.2, 80.0, 78.0,93.5; for(double score:scores){ sum = sum + score; 注意事项 (1) 按照要求的步骤做, 不要进行简化 (2) 运行 a.bat 可以直接进入目录 实验内容 1 (StringFunc.java) 已知一个字符串 s 为 扁担长, 板凳宽, 板凳没有扁担长, 扁担没有板凳宽 扁担要绑在板凳上, 板凳偏不让扁担绑在板凳上, 使用以下字符串函数完成任务并显示出来 : (1) 用 substring 取出 s 中第一个 板凳宽 并显示出来 (2) 用 indexof() 找出 s 中 扁担 出现的所有位置 (3) 用字符串运算 + 形成包含重复 10000 次字符串 s 的长字符串, 输出计算时间和总长度 (4) 用 StringBuilder 形成上面的长字符串, 输出计算时间和总长度 提示 :long time= System.currentTimeMillis() // 取得当前时间的毫秒数 ( 距离新纪元时间 1970 年 1 月 1 日 0 时 0 分 0 秒的毫秒数 ) 参考结果 : 全部完成后截屏 :

全部完成后源码 (StringFunc.java): public class StringFunc{ final static String s=" 扁担长, 板凳宽, 板凳没有扁担长, 扁担没有板凳宽 扁担要绑在板凳上, 板凳偏不让扁担绑在板凳上 "; public static void main(string args[]){ String s1=s.substring(0,3); System.out.println(s1); for(int i=0;i<s.length();i++){ i = s.indexof(" 扁担 ",i); if(i<0)break; System.out.print(i+" "); System.out.println(); long time= System.currentTimeMillis(); String s2= new String(); s2=""; for(int i=0;i<10000;i++){ s2+=s; System.out.println(" 字符串相加的时间 : "+(System.currentTimeMillis()-time)+"ms 字符串长度 : "+s2.length()); time= System.currentTimeMillis(); StringBuilder stringbuilder = new StringBuilder(); for(int i=0;i<10000;i++){ stringbuilder.append(s); System.out.println("StringBuilder 的时间 : "+(System.currentTimeMillis()-time)+"ms 字符串长度 : "+stringbuilder.tostring().length());

2 (Fib.java) 斐波那契数列 (Fibonacci sequence): 第 0 项是 0, 第 1 项是 1, 从第 2 项开始, 每一项都等于前两项之和, 结果是 0,1,1,2,3,5,8,13,21,34,55, 89,144,233,... 其中,0 为第 0 个斐波那契数 (1) 计算斐波那契数列保存在一个 ArrayList 类型的变量 fibs 中, 要求一直计算到 Long 类型的最大斐波那契数 显示最后一个数和 fibs 的长度 * 最大长整数为 Long.MAX_VALUE (2) 用 Iterator 类依次取出 fibs 中每个元素, 计算它与前面一个元素的比值 ( 从第 2 个开始 ), 保存在 double 类型的动态数组 ratio 中, 然后把 ratios 中的所有元素值用 foreach 语句依次显示出来 可以看出这个值逐渐接近黄金分割比例 0.6180339887 4989484820 458683436565 * ArrayList 的用法见课件, 动态数组和 foreach 语句 预备知识 参考结果 : 全部完成后的运行截屏 :

全部完成后的源程序 (Fib.java): import java.util.*; public class Fib{ public static void main(string args[]){ long fib0=0,fib1=1,fib2=1; ArrayList<Long>fibs=new ArrayList<>(); fibs.add(fib0); fibs.add(fib1); long tmp=fib2; while(tmp<long.max_value&&tmp >= 0){ // 计算 Fib fibs.add(tmp); tmp=fibs.get(fibs.size()-1)+fibs.get(fibs.size()-2); System.out.println("max fib(long):"+fibs.get(fibs.size()-1)+ " count:"+fibs.size()); double ratios[]=new double[fibs.size()-1]; Iterator iterator = fibs.iterator(); long pre=(long)iterator.next(); int i=0; while(iterator.hasnext()){ // 求出比值 long now=(long)iterator.next(); ratios[i++]=(double) pre/now; pre=now; int count=0; for (double r:ratios) { if((count++)%5==4) System.out.println(r); else System.out.print(r+"\t"); 3 (ShowTags.java) 找出 html 文件 (grassland.htm) 中的所有标签名 ( 转换为大写字母 ), 并用 HashMap 保存每个标签出现的次数, 最后把所有标签及其出现次数显示出来 * 要求使用 content.charat(index) 依次取出字符 (char 类型 ) 进行判断 char 类型采用 == 进行比较 * 可能会取到注释和脚本中的标签 * 不要使用正则表达式该网页 :

http://travel.sohu.com/20161023/n471039505.shtml?pvid=725adae4dbd11180 参考截屏 : 完成后运行结果截屏 :

问题 :DIV 出现多少次?[102] SPAN 出现多少次?[79] LI 出现多少次?[34] 源程序 (ShowTags.java): import java.io.*; import java.util.*; class ShowTags{ public static void main(string[] args)throws IOException{ HashMap<String,Integer>map=new HashMap<>(); String content = readfile(".\\grassland.htm"); content=content.touppercase(); boolean flag = false; ArrayList<String>out=new ArrayList<>(); String label=""; for(int i=0;i<content.length();i++){ // 分离标签 char temp=content.charat(i); if(flag&& (temp == '>' temp == ' ')) { flag = false; out.add(label); if(flag) label+=temp; if(temp == '<') { label = ""; flag=true; for(string s:out){//map 映射 if(!s.equals("")){ if(map.containskey(s)) map.put(s,map.get(s)+1); else map.put(s,1); int count=0; // 遍历 map 输出 Iterator iter = map.entryset().iterator(); while (iter.hasnext()) { Map.Entry entry = (Map.Entry) iter.next(); String key = (String) entry.getkey(); int val = (Integer) entry.getvalue(); if((count++)%3==2)system.out.println("<"+key+">:"+val); else System.out.print("<"+key+">:"+val+"\t");

static String readfile(string filename) throws IOException{ StringBuilder sb = new StringBuilder(""); int c1; FileInputStream f1= new FileInputStream(fileName); InputStreamReader in = new InputStreamReader(f1, "UTF-8"); while ((c1 = in.read())!= -1) { sb.append((char) c1); return sb.tostring();