日志五:文件输入和随机数
2015-07-06 01:46
183 查看
【导语】
今天是老师检查作业的一天,看看自己写的代码,至今还没实现老师要求的那个猜猜看的功能,我现在还没找到突破口,尽管我已经问老师了,老师也告诉了我,因为基础不怎么好,所以都不会怎么运用那些关键的东西,我在网上找了一个早上,关于如何实现图片和文字的关联,我至今也还没有找到答案,不过还是有点收获的,我最起码知道了要运用文件读取的功能和数组的功能,之后再用随机数将其显示在Lable上。我在网上百度到的想法,那个是关于如何将抽奖的数字显示出来,我感觉这两个关系挺像的,我就想试着用一下它的方法,看可行不,结果我却又卡在了随机不重复出现一个数那里,我现在还在求救老师,等待老师给我答复。
【目的】
1.随机不重复的抽取数字
2.通过数字和文件信息相关联
【目标】
1.实现单张图片的随机显示
2.图片与信息相关联
【方法与步骤】
1.用io读取这个文件
1).InputStream是所有输入流的基类,FileInputStream是它的一个实现类,允许程序读取机器上面的文件,FileInputstream,FileOutputstream分别是由抽象类Inputstream和Outputstream继承来的,他们的源和目的地是以字节流的方式读取文件,键盘,鼠标,或者显示器.。
2).byteArrayInputStream,byteArrayOutputStream的源和目的地是字节数组,即内存。FileInputstream的构造函数是FileInputstream(String filename)这样的话Fileinputstream流的源就是名字为filename的文件,而byteArrayInputStream的构造函数是byteArrayInputStream(byte []buf),这样的话byteArrayInputStream流的源就是名字为buf的字节数组。
2. 读进去以后放到一个ArrayList里 然后用过size()方法得到ArrayList的长度
1).ArrayList是javaAPI中自带的java.util.ArrayList,1.语法:add()是添加一个新的元素,remove()删除一个元素,size()获得ArrayList的长度。ArrayList的下标是从0开始。
2).再看在Application中利用swing包,构建带有图片的窗体
3).也可以自己写一个窗口类,然后重载其中的paint方法
3. 随机不重复的抽取数字
1) . 调用java.lang下面Math类中的random()方法产生随机数
2). 调用java.util下面Random类,此类的实例用于生成伪随机数流,产生一个随机整数,则调用该类的nextInt()方法其中Random rand = new Random()是创建一个新随机数生成器;rand.nextInt(int n)是从此随机数生成器的序列中取出的、在 0(包括)和指定值n(不包括)之间均匀分布的 int值。
4. 通过这个数字获得ArrayList中的关联的文件信息,把这信息输出到Lable。
a.getParent();获取装a 组件,a.getComponents();获取a装着的组件。比如由button.getParent()可以获取到panel,panel.getComponents()可以获取到button和label。
【实验代码】
【实验结果】
【导语】
今天是老师检查作业的一天,看看自己写的代码,至今还没实现老师要求的那个猜猜看的功能,我现在还没找到突破口,尽管我已经问老师了,老师也告诉了我,因为基础不怎么好,所以都不会怎么运用那些关键的东西,我在网上找了一个早上,关于如何实现图片和文字的关联,我至今也还没有找到答案,不过还是有点收获的,我最起码知道了要运用文件读取的功能和数组的功能,之后再用随机数将其显示在Lable上。我在网上百度到的想法,那个是关于如何将抽奖的数字显示出来,我感觉这两个关系挺像的,我就想试着用一下它的方法,看可行不,结果我却又卡在了随机不重复出现一个数那里,我现在还在求救老师,等待老师给我答复。
【目的】
1.随机不重复的抽取数字
2.通过数字和文件信息相关联
【目标】
1.实现单张图片的随机显示
2.图片与信息相关联
【方法与步骤】
1.用io读取这个文件
1).InputStream是所有输入流的基类,FileInputStream是它的一个实现类,允许程序读取机器上面的文件,FileInputstream,FileOutputstream分别是由抽象类Inputstream和Outputstream继承来的,他们的源和目的地是以字节流的方式读取文件,键盘,鼠标,或者显示器.。
2).byteArrayInputStream,byteArrayOutputStream的源和目的地是字节数组,即内存。FileInputstream的构造函数是FileInputstream(String filename)这样的话Fileinputstream流的源就是名字为filename的文件,而byteArrayInputStream的构造函数是byteArrayInputStream(byte []buf),这样的话byteArrayInputStream流的源就是名字为buf的字节数组。
2. 读进去以后放到一个ArrayList里 然后用过size()方法得到ArrayList的长度
1).ArrayList是javaAPI中自带的java.util.ArrayList,1.语法:add()是添加一个新的元素,remove()删除一个元素,size()获得ArrayList的长度。ArrayList的下标是从0开始。
2).再看在Application中利用swing包,构建带有图片的窗体
3).也可以自己写一个窗口类,然后重载其中的paint方法
3. 随机不重复的抽取数字
1) . 调用java.lang下面Math类中的random()方法产生随机数
2). 调用java.util下面Random类,此类的实例用于生成伪随机数流,产生一个随机整数,则调用该类的nextInt()方法其中Random rand = new Random()是创建一个新随机数生成器;rand.nextInt(int n)是从此随机数生成器的序列中取出的、在 0(包括)和指定值n(不包括)之间均匀分布的 int值。
4. 通过这个数字获得ArrayList中的关联的文件信息,把这信息输出到Lable。
a.getParent();获取装a 组件,a.getComponents();获取a装着的组件。比如由button.getParent()可以获取到panel,panel.getComponents()可以获取到button和label。
【实验代码】
import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class Baidu { static int NUM=0; public static void main(String[] args) throws IOException { FileInputStream fileInputStream = new FileInputStream("E:/photos/丁又专2C#实用开发技术-信管1121-1122.txt"); List arrayList = new ArrayList(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream)); String str =""; while(bufferedReader.ready()){ str = bufferedReader.readLine(); arrayList.add(str); int length = arrayList.size(); Integer random = (int) (length * Math.random()); System.out.println(arrayList.get(random)); } } }
【实验结果】
相关文章推荐
- day18_Map案例
- Asp.Net传值
- 1035. 插入与归并(25)
- map和list的用法:HashMap排序(二)
- Java_生活工具箱在线系统发布
- [Perl]根据当前时间来创建文件夹
- 2015.07.05总结
- PHP 错误与异常 笔记与总结(17 )像处理异常一样处理 PHP 错误
- Facebook/atc环境搭建总结
- 关于配置
- [Tools]ubuntu1204 webmin安装配置
- 安徽科技学院 2014-2015-2学期计算机14级12班《C语言程序设计II》期末考试
- 数学建模 数学模型 GM模型 灰色模型 灰色预测(一)
- 测试排序算法耗时
- RAID5阵列中两块磁盘告警后的处理步骤
- Tsung-安装-1
- Hbase总结(六)hbase37个笔试题
- 设计一个算法,求非空二叉树中指定的第k层(k>1)的叶子节点的个数
- 关于android在TOMCAT服务器下载文件名带中文的文件的编码问题
- Chromium和WebKit的智能指针实现原理分析