2 qq 34214381 qq_34214381 于 2016.03.08 15:59 提问

java中如何将输出的结果写入到文件和显示在屏幕

有一个1-50的数组,每次随即不重复抽取7个数,取7次,将这49个数写入到文件,剩下那个数显示在屏幕,程序应该怎么写,求大神赐教

2个回答

tb176
tb176   2016.03.08 16:50
已采纳
 import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;


public class Demo {
public static Random ran = new Random();
    public static void main(String[] args) {
        try {
            solution();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
    //获取50个随机数
    public static List<Integer> test() {
        List<Integer> arr = new ArrayList<Integer>();
        for (int i = 0; i < 50; i++) {
            arr.add(i+1);
        }
        return arr;

    }
    //逻辑处理
    public static  void solution() throws Exception{
        List<Integer> res = new ArrayList<Integer>();
        List<Integer> list = test();
        for (int i = 0; i < 7; i++) {
            for(int j = 0; j< 7;j++){
                int a = ran.nextInt(list.size());
                res.add(list.get(a));
                list.remove(list.get(a));
            }
        }
        write2Txt(res.toString());//写到文本
        System.out.println("50个数字剩余的最后一个数字="+list.get(0));//输出到控制台
    }

     //字符串写出到文本
    public static void  write2Txt(String str) throws Exception{
        FileWriter fw = null;
        String path = "C:\\Users\\db2admin\\Desktop\\txt.txt";
        File f = new File(path);
        try {
            if (!f.exists()) {
                f.createNewFile();
            }
            fw = new FileWriter(f);
            BufferedWriter out = new BufferedWriter(fw);
            // FileOutputStream fos = new FileOutputStream(f); 
            // OutputStreamWriter out = new OutputStreamWriter(fos, "UTF-8"); 
            out.write(str.toString());
            out.close();
            System.out.println("===========写入文本成功========");
        } catch (IOException e) {
            e.printStackTrace();
        } 
    }

}
tb176
tb176 回复qq_34214381: 不客气~
接近 2 年之前 回复
qq_34214381
qq_34214381 太强大了,灰常感谢!
接近 2 年之前 回复
tb176
tb176   2016.03.08 16:04

1、A数组50个数字取7*7=49个全部存到数组B中,通过IO把B流放到文件即可。
2、A数组剩余一个数字,syso到console即可。
3、A被取走的数记得从A中remove掉,B存放每次取得数。
祝你好运~

tb176
tb176 回复qq_34214381: 需要代码步 我刚才没事写了下
接近 2 年之前 回复
qq_34214381
qq_34214381 多谢!
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!