java面向对象一些基本练习题2

要求建立两个类,一个类Student用来定义学生的私有属性(例如:姓名,学号,英语成绩,语文成绩,数学成绩等),和动作(例如:构造方法,设置单科的成绩,获取总分,获取单科成绩等);另一个类StudentDemo,在main方法中实现输入学生个数n,创建数组存储学生,并创建每个具体学生对象,输入学生的信息,然后再输出每个学生的总分、全班的每科平均分、全班的平均总分。

public class Student {
 private String name;
 private int acc;
 private double Englishscore;
 private double Chinesescore;
 private double Mathscore;
 private double Allscore;
 public Student(String name,int acc) {
  this.name = name;
  this.acc = acc;
 }
 public double getAllscore() {
  return Allscore;
 }
 //用static修饰的方法无法使用非static的变量,如Englishscore + Chinesescore + Mathscore
 public  void Allscore() {
  Allscore = Englishscore + Chinesescore + Mathscore;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getAcc() {
  return acc;
 }
 public void setAcc(int acc) {
  this.acc = acc;
 }
 public double getEnglishscore() {
  return Englishscore;
 }
 public void setEnglishscore(double englishscore) {
  Englishscore = englishscore;
 }
 public double getChinesescore() {
  return Chinesescore;
 }
 public void setChinesescore(double chinesescore) {
  Chinesescore = chinesescore;
 }
 public double getMathscore() {
  return Mathscore;
 }
 public void setMathscore(double mathscore) {
  Mathscore = mathscore;
 }

}

import java.util.*;
public class StudentDemo {
 public static void main(String[] args) {
  System.out.println("请输入学生个数:");
  Scanner input = new Scanner(System.in);
  int count = input.nextInt();
  Student[] student = new Student[count];
  for(int i =1;i<=count;i++) {
   System.out.println("请输入第 " + i +"个学生的名字:");
   String name = input.next();
   System.out.println("请输入第 " + i +"个学生的学号:");   
   int acc = input.nextInt();
   student[i-1]=new Student(name,acc); 
   System.out.println("请输入第 " + i +"个学生的英语成绩:");
   student[i-1].setEnglishscore(input.nextDouble());
   System.out.println("请输入第 " + i +"个学生的语文成绩:"); 
   student[i-1].setChinesescore(input.nextDouble());   
   System.out.println("请输入第 " + i +"个学生的数学成绩:"); 
   student[i-1].setMathscore(input.nextDouble()); 
   student[i-1].Allscore();   
   System.out.println("第"+i+"个学生的总分为:"+ student[i-1].getAllscore());    
  }
  input.close();
  double ChineseSum =0.0; 
  double EnglishSum =0.0; 
  double MathSum =0.0;  
  for(int i=0;i<count;i++) {
   ChineseSum +=student[i].getChinesescore();
   EnglishSum +=student[i].getEnglishscore();
   MathSum +=student[i].getMathscore();
  }
  double CAverage = ChineseSum/count;
  double EAverage = EnglishSum/count;
  double MAverage = MathSum/count;
  double average = (ChineseSum + EnglishSum + MathSum)/count;
  System.out.println("********************");
  System.out.println("全班平均分为:"+average);
  System.out.println("全班英语平均分为:"+EAverage);
  System.out.println("全班数学平均分为:"+MAverage);
  System.out.println("全班语文平均分为:"+CAverage);  
 }
}

运行结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值