qq_34214381
qq_34214381
采纳率50%
2016-03-08 07:59 阅读 5.8k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    tb176 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();
            } 
        }
    
    }
    
    点赞 评论 复制链接分享
  • tb176 IT丶小农民 2016-03-08 08:04

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

    点赞 1 评论 复制链接分享

相关推荐