qq_34214381 2016-03-08 07:59 采纳率: 50%
浏览 6329
已采纳

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

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

  • 写回答

2条回答

  • IT丶小农民 2016-03-08 08: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();
            } 
        }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码