JAVA练习—学生分数管理系统

【问题描述】

编写学生类,包括学号、姓名和三门课程成绩、学生总人数,其中学生总人数为静态数据成员(初始值为0)。标准方法,无参和带参构造方法 (每调用一次总人数加1),计算每个学生总分方法,String toString()方法(将学生的所有属性信息连接成一个长字符串)

编写测试类创建2个学生,一个调用无参构造方法创建(学号、姓名初始值为”unknown”,成绩初始值为0),另一个调用带参构造方法创建(数据从键盘输入,先输入数据再创建对象),计算总分并打印学生的所有信息。平均分保留2位小数

要求:

•1.数据成员定义为私有 •2.在创建对象前,调用方法输出学生总人数,创建两个对象后,再输出学生总人数

【输入形式】

一个学生的相关信息

【输出形式】

2个学生的相关信息及学生总数信息

【样例输入】

202121115001 zhaoyun 87 80 93

【样例输出】

Before objects creation,number of Student:0

stuNo:unknown

name:unknown

math:0

english:0

java:0

total:0

avg:0.00

stuNo:202121115001

name:zhaoyun

math:87

english:80

java:93

total:260

avg:86.67

After objects creation,number of Student:2

运行结果:

在这里插入图片描述

源码:

package si;

import java.util.Scanner;

public class SI {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		String ID = in.next();
		String name = in.next();
		int math = in.nextInt();
		int english = in.nextInt();
		int java = in.nextInt();
		System.out.println("Before objects creation,number of Student:"+StuInfo.sum);
		StuInfo su1 = new StuInfo();
		//su1.show;
		System.out.println(su1.toString());
		System.out.println();
		StuInfo su2 = new StuInfo(ID,name,math,english,java);
		//su2.show;
		System.out.println(su2.toString());
		System.out.println("After objects creation,number of Student:"+StuInfo.sum);
	}

}
class StuInfo{
	private String name;
	private String ID;
	private int math;
	private int english;
	private int java;
	
	static int sum = 0;
	
	//	public void show() {
	//System.out.printf("stuNo:"+ID+"\nname:"+name+"\nmath:"+math+"\nenglish:"+english+"\njava:"
	//+java+"\ntotal:"+sum()+"\navg:"+"%.2f",avg());
	//	System.out.println();
	//}
	public String toString() {
		String s = "stuNo:"+ID+"\nname:"+name+"\nmath:"+math+"\nenglish:"+english+"\njava:"
	+java+"\ntotal:"+sum()+"\navg:"+String.format("%.2f",avg());
		return s;
	}
	public StuInfo(){
		this.name = "unknown";
		this.ID = "unknown";
		this.math = 0;
		this.english = 0;
		this.java = 0;
		sum+=1;
	}
	public StuInfo(String ID,String name,int math,int english,int java) {
		this.ID = ID;
		this.name = name;
		this.math = math;
		this.english = english;
		this.java = java;		
		sum+=1;
	}
	public int sum() {
		return math+english+java;
	}
	public double avg() {
		return sum()/3.0;
	}
}

END:橄榄枝

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值