「Java学习打卡」27、面向对象程序练习

面向对象的四大特性
1、封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。
2、继承:从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类,得到继承信息的类被称为子类。
3、多态:允许不同子类型的对象对同一消息作出不同的响应,重写和重载的定义。
4、抽象:将一类对象的共同特征总结出来构造类的过程。

题目:编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。
思路:设计一个学生类StringUtil,除了包括num(学号)、name(姓名)和score(成绩)数据成员外,有三个静态变量sum、count和score,分别存放总分和人数,另有成员函数show(),用于输出数据成员的值,另有一个静态成员函数show1(),它用输出平均分。在main()函数中输入学生数据。

import java.util.Scanner;

class StringUtil {

    private String num;
    private String name;
    private double score;
    private static double sum;
    private static int count;
    private static double aver;

    public void show() {
        System.out.print("SNO=");
        System.out.print(num + "\t");
        System.out.print("SN=");
        System.out.print(name + "\t");
        System.out.print("SC=");
        System.out.println(score);
    }

    public static void show1() {
        System.out.print("学生总数为:");
        System.out.println(count);
        System.out.print("学生平均成绩为:");
        System.out.println(aver);
    }

    public void student(String num1, String name1, double score1) {
        num = num1;
        name = name1;
        score = score1;
        count++;
        sum += score1;
        aver = sum / count;
    }
}


public class Test {
    public static void main(String[] args) {
        StringUtil cc = new StringUtil();
        System.out.print("请输入录入人数:");
        Scanner scan0 = new Scanner(System.in);
        int n = scan0.nextInt();
        for (int i = 0; i < n; i++) {
            System.out.print("请输入学生信息(学号 姓名 成绩):");
            Scanner scan = new Scanner(System.in);
            String a = scan.next();
            String b = scan.next();
            double c = scan.nextDouble();
            cc.student("12", "p1", 90);
            cc.show();
        }
        cc.show1();
    }
}

发布了30 篇原创文章 · 获赞 0 · 访问量 445

猜你喜欢

转载自blog.csdn.net/qq_26959737/article/details/105030366