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 然后算一个平均成绩出来
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 然后处理他算成绩(求大神们解答)的主要内容,如果未能解决你的问题,请参考以下文章