輸入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('\t');//各數據之間的分隔,相當於tab
38         }
39         out.write('\r');//換行符
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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 有n個學生的信息(包括學號,姓名,成績),要求按照成績的高低順序輸出各學生的信息 學生成績表數據包括:學號,姓名,高數,英語和計算機三門課成績,計算每個學生總分,每課程平均分,最高分和最低分 IO流(1)-鍵盤錄入學生信息(姓名,語文成績,數學成績,英語成績),按照總分從高到低存入文本文件 【C語言】利用文本編輯軟件在磁盤上建立一個有n個學生的學號、姓名及英語、數學和計算機三門課程成績的數據文件。編寫程序將數據文件讀入,且求出每個學生的平均成績。 輸入兩個學生的學號,姓名和成績,輸出成績較高的學生的學號,姓名和成績 有n個結構變量,內含學生學號,姓名和3門課程的成績。要求輸出平均成績的學生的信息 某班有5個學生, 每名學生的數據包括學號,姓名,3門課成績,從鍵盤上輸入5名學生數據,要求打印出3門課的總平均成績以及最高分的學生數據(包括學號,姓名,3門課成績) 有10個學生,每個學生的數據包括學號、姓名、3門課的成績,從鍵盤輸入10個學生數據,要求打印出3門課總平均成績,以及最高分的學生的數據(包括學號、姓名、3門課的成績、平均分數)。 /* * 有五個學生,每個學生有3門課的成績,從鍵盤輸入以上數據 *(包括學生號,姓名,三門課成績),計算出平均成績, *將原有的數據和計算出的平均分數存放在磁盤文件"stud"中。 */ 代碼實現:鍵盤錄入5個學生信息(姓名,語文成績,數學成績,英語成績),按照總分從高到低輸出到控制台
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM