永发信息网

JAVA SE 问题 通过键盘循环录入学生姓名和5门课成绩,计算平均分

答案:4  悬赏:30  手机版
解决时间 2021-04-27 16:23
如题 我已经写 对了 一个 现在 为了学习 想 大家帮忙 多谢点 然后 可以对照下 寻找不足
最佳答案
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
public class Test{
public static void main(String[] args) throws IOException
{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入您的姓名:");
String name = bf.readLine();
System.out.println("请输入您的年龄:");
String age = bf.readLine();
System.out.println("请输入您的性别:");
String sex = bf.readLine();
System.out.println("请输入您的学校:");
String school = bf.readLine();
System.out.println("请输入您的英语成绩:");
String englishScore = bf.readLine();
System.out.println("请输入您的数学成绩:");
String mathScore = bf.readLine();
System.out.println("请输入您的语文成绩:");
String chineseScore = bf.readLine();
System.out.println("请输入您的电脑成绩:");
String computerScore = bf.readLine();

System.out.println("学生信息表");
System.out.println("|-姓名"+name);
System.out.println("|-年龄"+age);
System.out.println("|-性别"+sex);
System.out.println("|-学校"+school);

System.out.println("┇--英语成绩:"+englishScore);
System.out.println("┇--数学成绩:"+mathScore);
System.out.println("┇--语文成绩:"+chineseScore);
System.out.println("┇--电脑成绩:"+computerScore);

ArrayList list = new ArrayList();
list.add(new Integer(Integer.parseInt(englishScore)));
list.add(new Integer(Integer.parseInt(mathScore)));
list.add(new Integer(Integer.parseInt(chineseScore)));
list.add(new Integer(Integer.parseInt(computerScore)));
Collections.sort(list);
int allScore = Integer.parseInt(englishScore)+Integer.parseInt(mathScore)+Integer.parseInt(chineseScore)+Integer.parseInt(computerScore);
System.out.println("┇--总成绩:"+allScore);
System.out.println("┇--平均成绩:"+allScore/4);
System.out.println("┇--最高成绩:"+list.get(3));
System.out.println("┇--最低成绩:"+list.get(0));




}
}
全部回答
一个int型数据,循环接收8个学生的成绩,计算这8个学生的总成绩及平均分。

可以专门的定义一个学生类

class Student

{

ArrayList a = new ArrayList ;

private int num;//学号 private String name;//姓名 private int[] score = new int[5];//5课成绩 private int avg;//平均分

Student(){}

// 通过输入学生的学号和姓名,再输入学生的成绩 Student(int num, String name) throws IOException {

this.num = num; this.name = name;

int sum = 0;

System.out.println("请输入该同学的5科成绩"); for (int i = 0; i < score.length; i++) { score[i] = sc.nextInt(); sum += score[i]; } avg = (int) sum / score.length;

}

public String toString()//为了输出学生信息

{

public String toString() { String information = num + " " + name + " " + score[0] + " " + score[1] + " " + score[2] + " " + score[3]+ " " + score[4]; return information;

}

// 单个学生的输入信息 public void input() throws IOException { System.out.println("请输入学生的信息"); System.out.println(" 学号" + " " + " 姓名"); int num = sc.nextInt(); String name = sc.next();

a.add(new Student(num, name));// 放置每个学生 }

public static vodi main(String[] args)

{

Student a = new Student();

for(int i=0;i<5;i++)

{

a.input();

}

}

}

}

这个代码是我以前做过的一的小项目中的截取片段,思路是,将学生的信息,单独存放在Student类中,在类中增加一个 加入学生信息的方法,在主方法中去调用就可以了,这样想输几个就输几个

很不错,没有任何问题,也想不出该怎么再简单化了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
人生有几个难关啊
nobody,这歌为什么火了,求解释。
断层只能发生在沉积岩吗?
寻仙6704的青鳌大爷能卖多少
殷切希望得到帮助
西飞国际还能涨停吗?
高达seed游戏
应援色到底是什么意思
温州到睢县多少钱
大付子饼屋在哪里啊,我有事要去这个地方
黄金车有多快
手机百度贴吧怎么把整个吧举报了?找不到举报
给鼠宝宝取名,姓彭,要好写又好听
怎样面对PL女生?
唐山还可以买到n79吗?行的好还是水的好
推荐资讯
甲沟炎杂治?
求CF里搞笑点的话,最搞笑的来4句,我要些到
由于老板黑员工工资,拖欠其工资,员工向劳动
英雄传说6 无法运行
联想TD30T手机怎么会经常死机啊?
谁给我发下旋风管家第2季ED2
官渡区这边的那个花鸟市场在什么地方```??
霸气十足的QQ是多少?
属鸡的巨蟹座女和属鸡的魔蝎座男配吗?
問一個電腦問題
2010年山东初级质量工程师证何时发证
东苏家村地址有知道的么?有点事想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?