学号 20175223 《Java程序设计》第9周学习总结
目录
教材学习内容总结
因未熟练掌握第十章 输入、输出流的内容,继续学习第十章。
- 第十章要点:
- 要点1:File 类;
- 要点2:文件字节输入流、输出流、;
- 要点3:缓冲流、随机流、数组流、数据流、对象流;
- 要点4:序列化与对象克隆;
- 要点5:使用 Scanner 解析文件;
- 要点6:文件对话框;
- 要点7:带进度条的输入流;
- 要点8:文件锁、应用举例。
 
教材学习中的问题和解决过程
1. 输出文件时过多输出。
import java.io.*;
public class test {
    public static void main(String args[]) {
        int n=-1;
        byte [] a=new byte[100];
        try{  File f=new File("D:\\javagc\\test\\src\\test.java");
            InputStream in = new FileInputStream(f);
            while((n=in.read(a,0,100))!=-1) {
                String s=new String (a,0,100);
                System.out.print(s);
            }
            in.close();
        }
        catch(IOException e) {
            System.out.println("File read Error"+e);
        }
    }
}
会在输出 test.java 后再多输出数行:
......
        catch(IOException e) {
            System.out.println("File read Error"+e);
        }
    }
}
ch(IOException e) {
            System.out.
Process finished with exit code 0
- 问题原因分析: 
 错误应该出现在第 8 行的 while 循环里,会多输出的原因是:n 是会随时变化的,而 100 是不变的。
 在第八行中- n=in.read(a,0,100)是每循环一次都往后移 100 单位的长度,由- length()算出方法长度为 550 。所以最后 100-50=50 的单位长度都由上次赋值的 50 至 99 位决定(未覆盖)。
- 问题解决方案: 
 第 9 行中的- String s=new String (a,0,100);改成- String s=new String (a,0,n);即可。
import java.io.*;
public class test {
    public static void main(String args[]) {
        int n=-1;
        byte [] a=new byte[100];
        try{  File f=new File("D:\\javagc\\test\\src\\test.java");
            InputStream in = new FileInputStream(f);
            while((n=in.read(a,0,100))!=-1) {
                String s=new String (a,0,n);
                System.out.print(s);
            }
            in.close();
        }
        catch(IOException e) {
            System.out.println("File read Error"+e);
        }
    }
}
代码调试中的问题和解决过程
1. 问题:费马素性检验程序。
- 问题2解决方案:
代码如下:
import java.util.Scanner;
public class Master {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        System.out.println("输入奇整数 n(n>=3):");
        int number = reader.nextInt();
        System.out.println("输入安全参数 t:");
        int t = reader.nextInt();
        int max=number-1;
        int min=2;
        int r=0;
        for (int j=0,count=0; count<t; j++,count++) {
            int b = (int)(1+Math.random()*(max-min+1));
            int moddle = b;
            for (int i=0; i<number-2; i++) {
                moddle = moddle*b;
                r = moddle%number;
            }
            if (r!=1) {
                System.out.println("n为合数。");
                j=-2;
                return;
            }
            else if (r==1) {
                System.out.println("n为素数。");
            }
            else {
                ;
            }
        }
    }
}
[代码托管]
- 代码提交过程截图:

- 代码量截图:


学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 322/322 | 1/1 | 23/23 | |
| 第二周 | 520/842 | 3/4 | 25/48 | |
| 第三周 | 458/1300 | 2/6 | 16/64 | |
| 第三周 | 914/2214 | 2/8 | 21/85 | |
| 第四周 | 685/2899 | 1/9 | 18/103 | |
| 第五周 | 663/3562 | 2/11 | 20/103 | |
| 第六周 | 746/3562 | 1/12 | 16/103 | |
| 第七周 | 1139/4701 | 2/14 | 21/124 | |
| 第八周 | 548/5249 | 2/16 | 12/134 | 
- 计划学习时间:20小时 
- 实际学习时间:12小时 
参考资料
学号 20175223 《Java程序设计》第9周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
		学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ... 
- 学号20145303 《Java程序设计》第一周学习总结
		学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ... 
- 学号20145322 《Java程序设计》第一周学习总结
		学号20145322 <Java程序设计>第一周学习总结 教材学习内容总结 Java诞生于Sun公司,于1998年12月4日发布J2SE,约以两年为一周期推出重大版本更新. 2010年Or ... 
- 201521123061 《Java程序设计》第九周学习总结
		201521123061 <Java程序设计>第九周学习总结 1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1 ... 
- 201521123038 《Java程序设计》 第九周学习总结
		201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ... 
- 201521123045 <java程序设计>第11周学习总结
		201521123045 <java程序设计>第11周学习总结 1. 本周学习总结 2. 书面作业 2. 书面作业 Q1.1.互斥访问与同步访问完成题集4-4(互斥访问)与4-5(同步访问 ... 
- 20175313 张黎仙《Java程序设计》第九周学习总结
		目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ... 
- 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
		20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ... 
- 2018-2019-3《Java程序设计》第二周学习总结
		学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ... 
- # 20175329 2018-2019-2 《Java程序设计》  第二周学习总结
		学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ... 
随机推荐
- Confluence 6 升级完成后的检查
			这个页面中的文章将会为 Confluence 管理员为 Confluence 升级完成后 提供检查列表以确保 Confluence 的升级顺利完成.这个检查列表没有包含所有需要检查的错误,但是将会检查 ... 
- ansible如果兼容Centos5
			基本安装 安装gcc,用于编译python源码 yum install gcc 更新python版本 centos自带python2.6版本,由于centos已对python深度依赖,所以更新pyth ... 
- Vue.js错误: Maximum call stack size exceeded
			这几天正自学Vue, 用eggjs + vue 采用前后分离,写一个网站练练手. 增加了一个商品详情页 Detail.vue的时候,点击进入Detail.vue的时候,页面显示空白,打开浏览器调试工具 ... 
- JS设置、获取和取消Cookie
			// 设置cookie function setCookie(name, value, seconds, domain) { seconds = seconds || 0; // se ... 
- Python3+unittest使用教程
			一.直接使用TestCase 注意所有测试方法都需要以test开头.代码如下: import unittest class Test1(unittest.TestCase): @classmethod ... 
- Netty(一)——Netty入门程序
			转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7447618.html 有兴趣的可先了解下:4种I/O的对比与选型 主要内容包括: Netty开发环境的搭建 ... 
- DBLookupCombobox实现下拉联动
			这次用DBLookupCombobox实现省份-城市-地区的下拉联动,用以学习DBLookupCombobox的一些用法 效果图: 首先建立数据表(数据表形式可以多种多样:数据库表.文本.xml等,最 ... 
- sface
			单步检测方法分为两类:anchor-based如ssd.RetinaNet;2)Anchor-free 如DenseBox.UnitBox;anchor-based处理的尺度范围虽小,更精准:anch ... 
- echarts 图表后面背景色
			"splitArea": { "show": true, "areaStyle": { "color": [ " ... 
- MSRHook与SSDTHook
			//方式1:MSR Hook #include <ntifs.h> UINT32 oldaddr = ; UINT32 pidtoprotect = ; PCLIENT_ID pid = ... 
