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

问题描述

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

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

解决方案

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

时间: 2024-10-23 13:16:52

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

java中的0x00代表什么,写入二进制文件问题

问题描述 java中的0x00代表什么,写入二进制文件问题 写入二进制文件的时候,利用writeUTF,然后就要有一个写入byte为{0x00}的操作,说是什么补位...看不懂,只学过c语言,不知道这样写干啥,求大神.. 解决方案 关于写二进制文件多出"0D"的问题 解决方案二: 真实的数字0,但注意不是字符0(0x30是字符0) 解决方案三: 十六进制的0,其实就是字符0 解决方案四: 0x00和0x0.0x000,0x0000,...都是0.小学一年级的都知道,在数字前面补0,得到

对象-Java中关于String输出

问题描述 Java中关于String输出 我有点搞不懂什么时候输出了对象地址,什么时候才输出了对象的值 解决方案 关键看你输出对象的类中对toString方法有没有进行重载,重载成什么样,默认没有重载就是输出object的toString方法,就是hashcode.也就是自己对类的toString进行重写,输出你想要的格式. 解决方案二: 一楼正解.toString本质上是多态,调用实际对象的该方法.默认Object类中的toString是数出对象地址的. 解决方案三: 地址好像是没法输出的,不

java文件输入问题-java中把整数数组的数据输入到文件中的问题

问题描述 java中把整数数组的数据输入到文件中的问题 我是java新手,把整形数组输入到文件中去为什么不是数字,是这些问号? 解决方案 BufferedWriter 用这个写 解决方案二: 写入的编码格式不对,用UTF-8格式试试 解决方案三: 我是用BufferedWriter写的啊 解决方案四: write(int c)这个方法其实输出的是c对应的character,会进行类型的转换,你可以看下输出的源码.如果你要输出整型的话,建议你后面加个空字符串输出吧,换成: bw.write(a[i

java中jar命令如何将指定的class文件更新到_指定的目录_

问题描述 java中jar命令如何将指定的class文件更新到_指定的目录_一定是指定的目录在网上查了一下,貌似是jarufeee.jarhhh.class这个只能将hhh.class这个文件更新到eee.jar的根目录,我想要的是如何将eee.jar更新到指定的目录. 解决方案 解决方案二:C:Userszz192672>jar用法:jar{ctxui}[vfm0Me][jar-file][manifest-file][entry-point][-Cdir]files...选项包括:-c创建新

java中如何获取前台input file 传的文件的大小?

问题描述 java中如何获取前台input file 传的文件的大小? 前台页面 <input type="file" id="f"> 如何在后台java中获取此上传文件的大小? 解决方案 File file = new File(yourfile); FileInputStream fis = null; try { fis = new FileInputStream(file); return fis.available() / 1024; } ca

c# mssql xml-C#中,读取数据库数据,写入xml文件

问题描述 C#中,读取数据库数据,写入xml文件 C#中,读取数据库数据,比如说表,存储过程,函数等等,然后把这些数据写成xml文件 存入本地硬盘,请各位大神教教我,,, 解决方案 你是 只需要读数据库的资料然后自己根据资料写xml 还是写个程序让机器自己根据从数据库中读出的资料然后生成相应的XML? 解决方案二: 参考一下这个http://bbs.csdn.net/topics/360167449 解决方案三: 读取数据库中的数据应该没有问题吧.写入xml参考:http://blog.csdn

Java中Object的输出问题

今天一个同学读取List<Object>中的一个对象,直接用于输出.输出结果是Student@c17164,现在来分析一下哈. 1.Object类 类Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法.  2.Object类的toString()方法 public String toString() 返回该对象的字符串表示.通常,toString 方法会返回一个"以文本方式表示"此对象的字符串.结果应是一个简明但易于读懂

java中JTextPane使输出字符到指定的宽度换行,并将垂直滚动条的位置移动到输出的最后位置

SimpleAttributeSet set = new SimpleAttributeSet(); Document doc = tp.getStyledDocument(); FontMetrics fm = tp.getFontMetrics(tp.getFont());//得到JTextPane 的当前字体尺寸 int paneWidth = tp.getWidth();//面板的宽度 String text = new String(bt, 0, len); try { for(int

关于Java中System.out输出信息到命令台窗口,反复更改同一段信息的问题

问题描述 最近用java做一个程序(只能用java做),程序打成jar文件,并通过.bat文件调用.其中我希望在程序中用System.out.print输出当前执行的进度,比如"59%",现在我每调用一次System.out的相关方法,那么之前的信息始终停留,最后结果是1%15%65%99%100%,这不是我想要的,我希望15%出现时候1%就被覆盖掉,请问怎么实现?我觉得应该存在实现的方式,因为我在使用Maven时候在下载组件时候在控制台输出过类似的提示信息. 解决方案 System.