您的位置:首页 > 其它

日志五:文件输入和随机数

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。

【实验代码】

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));
}
}
}


【实验结果】

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: