扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
现在的大学考试题目果然简单了阿
创新互联公司自2013年起,先为通道等服务建站,通道等地企业,进行企业商务咨询服务。为通道企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
1,做个循环一次录入10人成绩,存入相应list或者数组
2,计算
3,输入姓名,可以用map实现,或者简单的遍历数组或者list
1、题目描述:
/*java编程:输入某个班学生的成绩,输入-1时,表示输入结束。计算该班的学生人数、最高分、最低分和平均分*/
分析:
根据题目可知,①需要连续输入数据,并将连续输入的数据保存,②记录输入的数据个数③需要有输入数据内容判断,如果输入-1则停止输入,执行计算。
2、代码如下
public static void main(String[] args) {
ArrayListFloat gList=new ArrayList();//定义浮点型动态数组,用作记录成绩,也可以取数组长度作为人数
Scanner input =new Scanner(System.in);
float grade=0;
for ( ;grade!=-1; ) {//当输入-1时结束
System.out.println("请输入学生成绩(-1结束输入):");
grade=input.nextFloat();
if (grade!=-1) {//避免最后一次录入-1
gList.add(grade);
}
}
//当输入-1时停止记录数据
//求最高分
//最低分
float max=0,sum=0,aveg=0;
float min=gList.get(0);//取第一项作为最低分初始值
for (int i = 0; i gList.size(); i++) {
if (maxgList.get(i)) {
max=gList.get(i);
}
if (mingList.get(i)) {
min=gList.get(i);
}
sum+=gList.get(i);//求总分
}
//平均分
aveg=sum/gList.size();
System.out.println("共有 "+gList.size()+"人,"+"最高分:"+max
+",最低分:"+min+",平均分:"+aveg);
}
3、运行效果
Java学生成绩管理系统源代码:
import Java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.StringTokenizer;
/*
* Created on 2005-1-11
*/
/**
* @author 让炜
* @since 1.0
*
* TODO 学生成绩治理系统
* 通过学号查找,修改,删除数据
*
*/
public class LittleProgram
{
static boolean isDelete = true;
static boolean isFind = true;
public static void main(String [] args)//主方法,程序从这里开始运行
throws IOException,NumberNotFoundException
{
int choice=-1;
do{
LittleProgram lp = new LittleProgram();
System.out.println();
System.out.println("\t####################################");
System.out.println();
System.out.println("\t\t Java学生成绩治理系统1.1");
System.out.println("\t\t请用学号查找,修改,删除数据");
System.out.println();
System.out.println("\t####################################\n");
System.out.print("1.增加数据:\n"+
"2.查找数据:\n"+
"3.删除数据:\n"+
"4.清除所有数据:\n"+
"5.把数据全部打印到屏幕\n"+
"6.把成绩按学号排序\n"+
"7.修改数据\n"+
"8.统计已记录成绩学生数\n"+
"9.关于作者\n"+
"0.退出程序.\n" +
"输入:");
BufferedReader in = //从终
new BufferedReader( //端接
new InputStreamReader(System.in));//收数
String inputLine = in.readLine(); //字选
choice= Integer.valueOf(inputLine).intValue();//项;
switch(choice)
{
case 1: {//1.增加数据
String str = lp.inputData();
lp.addData(str);
System.out.println("增加数据成功.");
timeOut(1);
}break;
case 2: {//2.查找数据
long find = 0;
资料引用:
这里有一个类
实现学生学号,数学,语文,英语成绩录入
并且计算平均成绩,按照平均成绩高低输出信息
你可以改改!
//实现简单的学生信息输入输出和初步的成绩排序
public
class
student
{
private
int
id;
//学号
private
int
mathscore;
//数学成绩
private
int
chinscore;
//语文成绩
private
int
forescore;
//外语成绩
public
student()
{
id
=
0;
mathscore
=
0;
chinscore
=
0;
forescore
=
0;
}
public
student(int
newid,
int
newmathscore,
int
newchinsvore,
int
newforescore)
{
id
=
newid;
mathscore
=
newmathscore;
chinscore
=
newchinsvore;
forescore
=
newforescore;
}
public
double
getaveragescore()
{
//求平均成绩
double
averagescore
=
((double)
mathscore
+
chinscore
+
forescore)
/
3;
return
averagescore;
}
public
void
output(student
student)
{
//输出对象的内容
system.out.println("
"
+
student.id
+
"
"
+
student.mathscore
+
"
"
+
student.chinscore
+
"
"
+
student.forescore
+
"
"
+
student.getaveragescore());
}
public
int
max(student
a[],
int
n)
{
//student类对象数组的前n项中的成绩最大值的索引
int
position
=
0;
for
(int
i
=
1;
i
n;
i++)
{
if
(a[i].getaveragescore()
a[position].getaveragescore())
{
//比较平均成绩
position
=
i;
}
}
return
position;
}
public
void
selectsort(student
a[])
{
//student类对象数组的选择排序
for
(int
n
=
a.length;
n
1;
n--)
{
int
i
=
max(a,
n);
student
temp
=
a[i];
a[i]
=
a[n
-
1];
a[n
-
1]
=
temp;
}
}
}
import java.util.Scanner;
public class Student{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生的人数....");
int num = sc.nextInt();
int[] arr = new int[num];
double[] chengji_arr = new double[num]; //存放成绩的
String[] String_arr = new String[num]; //存放姓名的
String chengjis = "";
String names = "";
for(int i = 0; i arr.length i String_arr.length i chengji_arr.length; i++){
arr[i] = i;
int s = 0;
Students st = new Students();
System.out.println("请输入第"+(arr[i]+1)+"个学生的序号!");
st.setId(sc.nextInt());
System.out.println("请输入第"+(arr[i]+1)+"个学生的姓名!");
st.setName(sc.next());
System.out.println("请输入第"+(arr[i]+1)+"个学生的成绩!");
st.setChengji(sc.nextDouble());
String_arr[i] = st.getName(); //保存成绩
chengji_arr[i] = st.getChengji();
}
int max = 0;
int tmp = 0;
for (int i = 0; i chengji_arr.length; i++) {
max = i;
for (int j = i + 1; j chengji_arr.length; j++) {
if (chengji_arr[max] chengji_arr[j])
max = j;// 记下较大数位置,再次比较,直到最大
}
if (i != max) {
tmp = (int)chengji_arr[i];
chengji_arr[i] = chengji_arr[max];
chengji_arr[max] = tmp;
}
}
for (int i = 0; i chengji_arr.length; i++)
System.out.print("成绩为:"+chengji_arr[i] + " ");
}
}
class Students{
private int id;
private String name;
private double chengji;
public void setId(int id){
this.id = id;
}
public int getId(){
return id;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setChengji(double chengji){
this.chengji = chengji;
}
public double getChengji(){
return chengji;
}
}
//代码没有交换学生数组下标,麻烦提问者再修改一下吧,真的要睡了,明天继续上班,抱歉,只能帮你到这里了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流