zoukankan      html  css  js  c++  java
  • 输入5个学生的信息(包括学号,姓名,英语成绩,计算机语言成绩和数据库成绩), 统计各学生的总分,然后将学生信息和统计结果存入test.txt文件中

    题目分析:

    1.首先想到的是数组存放数据,数组肯定是String类型.

    2.String类型的数组,5行6列.要把从第0行第2列到第4行第4列的数据取出转换成数值型,再统计三科总分.最后把计算出的总分转换成String类型放回数组的第5列.

    3.将string类型的数组写入到文件,再从文件读出显示到控制台

    遇到的困难:

    1.反复的类型转换

     1 import java.io.File;
     2 import java.io.FileOutputStream;
     3 import java.io.FileReader;
     4 import java.io.OutputStream;
     5 import java.io.PrintStream;
     6 import java.util.Scanner;
     7 public class Test2 {
     8 public static void main(String[] args) throws Exception{
     9     float sum=0f;
    10     Scanner input=new Scanner(System.in);
    11     File f = new File("D:"+File.separator+"test.txt");
    12     PrintStream ps = new PrintStream(f);  
    13     ps.println("姓名             学号                英语      计算机语言        数据库           总分");
    14     OutputStream out = new FileOutputStream(f,true);
    15     //用FileOutputSteam包装文件,并设置文件可追加
    16     String[][] stu=new String[5][6];
    17     float[][] score=new float[5][5];//接收各科分数
    18     
    19     System.out.println("请依次输入学生的学号,姓名,英语,计算机语言和数据库的成绩");
    20     for(int i=0;i<5;i++){
    21         System.out.println("第"+(i+1)+"位:");
    22         for(int j=0;j<5;j++){
    23         stu[i][j]=input.nextLine();    //从键盘接收数据,以回车分隔
    24     }
    25     }
    26     for(int i=0;i<5;i++){
    27         for(int j=2;j<5;j++){
    28             score[i][j]=Float.parseFloat(stu[i][j]);//String类型转换为Float类型
    29             sum+=score[i][j];//总分
    30         }
    31         stu[i][5]=(String.valueOf(sum));//float类型转换为string类型放回String数组
    32         sum=0;        //计算完一位同学的总分后清零
    33     }
    34     for(int i=0;i<5;i++){
    35         for(int j=0;j<6;j++){
    36         out.write(stu[i][j].getBytes()); //将String转换为byte类型,向文件中写入数据
    37         out.write('	');//各数据之间的分隔,相当于tab
    38         }
    39         out.write('
    ');//换行符
    40     }
    41     out.close();    //关闭输出流
    42     System.out.println("写入成功!");
    43     
    44     FileReader fr = new FileReader("d:\test.txt");
    45     char[] bchar= new char[1024];
    46     int len = 0;
    47     while((len = fr.read(bchar)) != -1){//直到文件读取结束
    48         System.out.print(new String(bchar,0,len));//输出文件所有内容
    49     }
    50     fr.close();
    51 }
    52 }
  • 相关阅读:
    Redis 如何设置密码及验证密码?
    怎么测试 Redis 的连通性?
    Redis 的内存用完了会发生什么?
    假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以 某个固定的已知的前缀开头的,如果将它们全部找出来?
    使用过 Redis 做异步队列么,你是怎么用的?
    简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别 ?
    你怎么看到为表格定义的所有索引?
    深入理解卷积网络的卷积
    OpenCV-Python 图像阈值 | 十五
    OpenCV-Python 图像的几何变换 | 十四
  • 原文地址:https://www.cnblogs.com/silenTJ/p/8011779.html
Copyright © 2011-2022 走看看