JAVA读一个成绩的txt file 然后处理他算成绩(求大神们解答)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA读一个成绩的txt file 然后处理他算成绩(求大神们解答)相关的知识,希望对你有一定的参考价值。

57363 Joy Ryder D D C P H H C D
72992 Laura Norder H H H D D H H H
71258 Eileen Over C F C D C C C P
70541 Ben Dover F F F P C C C F
46485 Justin Time F C F C D P D H
61391 Anna Conda D D F D D F D D
88985 Bob Down P F P F P F P P

以上是我的file

我要做的是把每一行studentID. 比如说: 57363 都把他放到一个数列里

然后把名字后面的成绩进行计算。每一个字母都有相对应的数字
拿第一行来举例: D D C P H H CD = 6+6+5+4+7+7+5+6/8 = 5.75 然后放到数列的第一个 以此类推。完成剩余的

字母H=7
字母D= 6
字母C= 5
字母P= 4
字母F= 0 然后算一个平均成绩出来

参考技术A

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;





public class Test


public static void main(String[] args)

Map<String, String> map = new HashMap<>();

try

FileReader fr = new FileReader(new File("file.txt"));

BufferedReader br = new BufferedReader(fr);

String line ;

while((line = br.readLine())!=null)

String strs[] = line.split(" ");

List<String> list = new ArrayList<>();

for(int i = 3 ; i < strs.length ; i++)

list.add(strs[i]);

float grade = getGrade(list);

map.put(strs[0], String.valueOf(grade));

Iterator iter = map.entrySet().iterator();

while (iter.hasNext())

Map.Entry entry = (Map.Entry) iter.next();

Object key = entry.getKey();

Object val = entry.getValue();

System.out.println(key+"--->"+ val);

catch (Exception e)

// TODO Auto-generated catch block

e.printStackTrace();


public static float getGrade(List<String> list)

float sum = 0;

for(int i = 0 ; i < list.size() ; i++)

String value = list.get(i);

switch (value)

case "H":

sum += 7;

break;

case "D":

sum += 6;

break;

case "C":

sum += 5;

break;

case "P":

sum += 4;

break;

case "F":

sum += 0;

break;

default:

break;

return sum/list.size();



本回答被提问者采纳
参考技术B 是妹纸不。。。 参考技术C 只有5分啊!

java编写程序创建out.txt文件并写入“helloworld”,然后读出来输出到命令行

1.在新建好的文件夹中新建一个文本文档,把文档名改为HelloWorld.java,并在该文档中写好如下程序。
2.打开win+R,输入cmd并打开,则进入以下界面:3.输入D:转入D盘PS:若是在桌面新建的文本文档,方法类似,则最终结果为,且桌面也会出现一个.class文件:

4.返回刚才建立文本文档的界面,找对应地址并输入到命令框中(先输cd加上一个空格,在输入地址)
4.接着在后面输入【javac+空格+类名(该程序类名为HelloWorld)+.java】5.接下来输入【java+空格+类名】6.完成后就可以在文档界面得到一个.class的文件 ,如此即可。
参考技术A java编写程序创建out.txt文件并写入“helloworld”,然后读出来输出到命令行如下,输入vi HelloWorld.java
进入HelloWorld.java编辑,写上helloword的代码
public class Heoolworld
public static void main(String[] args)
System.out.print(Hello World!);




按住键盘上的esc键,然后输入:wq保存并退出

输入命令javac HelloWorld.java 编译Java类
输入java HelloWorld执行Java类
参考技术B 自己一个字母一个字母的在记事本里敲,还是挺容易出问题的:要不就是String没有大写,要不就是写成arg[],还有编译成功缺不能运行。先附上终于写对的helloworld
再cmd进入dos命令后
先切换目录到自己的文件位置cd C:\Users\lenovo\Desktop
再编译helloworld.java文件javac helloworld.java
接着因为我自己环境变量的原因,所以应设置临时环境变量:set classpath=C:\Users\lenovo\Desktop
最后运行java helloworld
参考技术C 自己一个字母一个字母的在记事本里敲,还是挺容易出问题的:要不就是String没有大写,要不就是写成arg[],还有编译成功缺不能运行。先附上终于写对的helloworld
再cmd进入dos命令后
先切换目录到自己的文件位置cd C:\Users\lenovo\Desktop
再编译helloworld.java文件javac helloworld.java
接着因为我自己环境变量的原因,所以应设置临时环境变量:set classpath=C:\Users\lenovo\Desktop
最后运行java helloworld
参考技术D 自己一个字母一个字母的在记事本里敲,还是挺容易出问题的:要不就是String没有大写,要不就是写成arg[],还有编译成功缺不能运行。先附上终于写对的helloworld
再cmd进入dos命令后
先切换目录到自己的文件位置cd C:\Users\lenovo\Desktop
再编译helloworld.java文件javac helloworld.java
接着因为我自己环境变量的原因,所以应设置临时环境变量:set classpath=C:\Users\lenovo\Desktop
最后运行java helloworld

以上是关于JAVA读一个成绩的txt file 然后处理他算成绩(求大神们解答)的主要内容,如果未能解决你的问题,请参考以下文章

java读取excel文件,按照指定的日期条件读数据,然后导出txt存储并以其日期命令

java字节流读txt文件出现乱码怎么解决?

java 读取 txt 文件

从文件读数据插入到链表

java读txt方法

python文件处理学习:一