简单的Java代码实现六

熟悉输入、输出流和文件操作

import java.io.*;
public class Read{
   static int max, min, sum=0;
   static int[]a=new int[5000];
   public static void main(String args[]){
      File f=new File("a.txt");
      if(f==null){
         System.out.println("Can't create the file!");
         System.exit(0);
         }
      genRandom(f);
      calculate(f);
      }
   static void genRandom(File f){         //产生随机数方法
      try{
          FileOutputStream fos=new FileOutputStream(f);
          DataOutputStream dos=new DataOutputStream(fos);
          for(int i=0;i<5000;i++){
              dos.writeInt((int)(Math.random()*10000));
              }
          dos.close();
          }catch(FileNotFoundException e){
             e.printStackTrace();
             }catch(Exception e){
             e.printStackTrace();
             }
           }
    static void calculate(File f){        //计算最大值,最小值,平均值的方法
       try{
           FileInputStream fis=new FileInputStream(f);
           DataInputStream dis=new DataInputStream(fis);
           int i;
           for(i=0;i<5000;i++){
              a[i]=dis.readInt();
              }
           dis.close();
           max=a[0];
           min=a[0];
           for(i=0;i<5000;i++){
              if(max<a[i]) max=a[i];
              if(min>a[i]) min=a[i];
              sum+=a[i];
              }
           }catch(FileNotFoundException e){
              e.printStackTrace();
              }catch(Exception e){
              e.printStackTrace();
              }
           int average=sum/5000;
           System.out.println("max="+max+"\tmin="+min);
           System.out.println("sum="+sum+"\taverage="+average);
           }
}

在这里插入图片描述
在这里插入图片描述

import java.io.*;  
  
public class Input{  
    public static void main(String args[]) throws IOException{  
        String s;     
        InputStreamReader isr=new InputStreamReader(System.in); 
        BufferedReader br=new BufferedReader(isr);
        FileWriter fw=new FileWriter("student.txt"); 
        BufferedWriter bw=new BufferedWriter(fw);
        System.out.println("请输入姓名:(以空行结束)");
        int linenum=0;  
        while(true){//循环读入字符串  
           System.out.println("输入姓名、学号: ");  
           linenum++;  
           System.out.flush();//清空输出缓冲区  
           s = br.readLine();//读入输入的一行  
           if(s.length()==0)break;//若遇到空行则break,结束读-写工作  
           bw.write(s);//将本行字符串写出到对象bw  
           bw.newLine();  //在对象bw中创建新行,为下一行输出做准备   
           System.out.println("输入成绩: "); 
           linenum++;  
           System.out.flush();  
           s = br.readLine();  
           bw.write(s);  
           bw.newLine();   
       }  
       br.close();  
       bw.close();  
       System.out.println("输入的姓名,学号,成绩存入到student.txt文件");  
         
       FileReader fr=new FileReader("student.txt");   //创建File对象,并打开文件,作为写出数据的目标  
       BufferedReader br1=new BufferedReader(fr);    //建立缓冲BufferedReader对象br1,关联到fr  
       String s1;   
       double temp=0,average=0,sum=0,min=100,max=0;  
       linenum=0;  
       s1=br1.readLine(); //读入一行  
       while(s1!=null){  //当不为空时执行下列语句  
         linenum++;  //行数加一  
         if(linenum%2==0){  //判断行数 如果是2 的倍数 即为成绩行 进行如下操作  
            //bw.write(s);  //写入s  
            temp=Double.parseDouble(s1);  //强制转换成double型  
            sum=sum+temp;  //加和  
              
            if(temp>max){  //判断如果temp比max大  
                max=temp;  //则将temp值赋给max  
            }  
            if(temp<min){  //判断如果temp比min小  
                min=temp;  //则将temp值赋给min  
            }  
              
         }  
           
         //bw.newLine();  //新建行  
         s1=br1.readLine();  //读行  
        }  
        average=sum/(linenum/2);  //成绩的总和除以成绩数计算平均值    
       System.out.println("成绩的平均值"+average);  //输出结果  
       System.out.println("成绩的最大值"+max);  
       System.out.println("成绩的最小值"+min);  
         
       br1.close();
         
    }  
}

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值