黑马程序员技术交流社区

标题: java编程问题 [打印本页]

作者: 小兮网络    时间: 2013-12-28 15:32
标题: java编程问题
import java.io.*;
import java.util.*;

public class WriteReadData{
public static void main(String[] args) throws Exception{
File file=new java.io.File("Exercise8_22.txt");
PrintWriter output=new PrintWriter(file);

for(int i=0;i<100;i++){
output.print((int)(Math.random()*1000)+" ");
}

Scanner input=new Scanner(file);
int[] num=new int[100];
int j=0;
while(input.hasNext()){
num[j]=input.nextInt();
j++;
}

numSort(num);

for(int i=0;i<100;i++){
if((i+1)%10==0)
System.out.println(num[i]+" ");
else
System.out.print(num[i]+" ");
}

output.close();
input.close();

}

public static void numSort(int[] num){
for(int i=1;i<100;i++){
int currentElement=num[i];
int k;
for(k=i-1;k>=0&&num[k]>currentElement;k--){
num[k+1]=num[k];
}

num[k+1]=currentElement;
}


}


}

目的是为了创建一文件并随机写入100个整数,随后再显示出已经被排序过的这100个整数,为什么运行结果输出的都是0呢?想不明白呀~~


作者: 刘汉文    时间: 2013-12-29 14:02
太长了,就不看了,按你的需求给写了个。
都打印是0的话,应该是文件里没有写进内容。
package mine;

import java.io.*;
import java.util.Arrays;

public class Demo {

        @SuppressWarnings("resource")
        public static void main(String[] args) throws Exception
        {
                File file=new File("f:\\abc.txt");
                PrintWriter pw=new PrintWriter(file);
                BufferedReader bufr=new BufferedReader(new FileReader(file));
                int[] arr=new int[100];
                int pos=0;
                for(int i=0;i<100;i++)
                {
                        pw.println((int)(0+Math.random()*100+1));
                }
                pw.close();
                String s;
                while((s=bufr.readLine())!=null)
                {
                        arr[pos++]=new Integer(s).intValue();
                }
                Arrays.sort(arr);
                System.out.println(Arrays.toString(arr));
        }
}
作者: 费破的可    时间: 2013-12-29 15:06
你刷新下流数据就ok了
作者: 渐渐不懂了    时间: 2013-12-30 14:11
是因为PrintWriter写入数据时,是用到缓存的,假如缓存不满时,它是不会自动向文件中写入数据的,只有当缓冲区满时或是close时或是主动调用flush时才会真正的去写入文件。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2