/* 2.编写一个类,该类有一个方法public int f(int a,int b), 该方法返回a和b的最大公约数。然后再编写一个该类的子类, 要求子类重写方法f,而且重写的方法将返回a和b的最小公倍数。 要求在重写的方法体中首先调用被隐藏的方法返回a和b的最大公约数m, 然后将乘积(a*b)/m返回。要求在应用程序的主类中分别使用父类和子类创建对象, 并分别调用方法f计算两个正整数的最大公约数和最小公倍数。 */ class A { //求最小公约数 public int f(int a,int b) { int max,min,r; if(a<b) { max = b; min = a; } else { max = a; min = b; } while((r=max%min)!=0) { max = min; min = r; } return min; } } class B extends A { public int f(int a,int b) { int m = super.f(a,b); return (a*b)/m; } } class C { public static void main(String[] args) { A a = new A(); System.out.println("最大公约数="+a.f(4,6)); B b = new B(); System.out.println("最小公倍数="+b.f(4,6)); } }
/* 学生类: 成员属性: 学号:sNO 姓名:sName 性别:sSex 年龄:sAge 成绩:sJava 构造方法: 1,构造函数,需要完成成员变量的赋值操作。 成员方法: 1,getNo();获得学号; 2,getName();获得姓名; 3,getSex();获得性别; 4,getAge();获得年龄; 5,getJava();获得Java课程成绩。 创建5个Student的对象。 1,输出每个学生的信息。 2,计算并输出这五个学生Java语言成绩的平均值。 以及计算并输出他们Java语言成绩的最大值和最小值。 */ class Student { //成员属性; int sNO;//学号 String sName;//姓名 char sSex;//性别 int sAge;//年龄 double sJava;//成绩 //构造方法 Student(int sNO,String sName,char sSex,int sAge,double sJava) { this.sNO = sNO; this.sName = sName; this.sSex = sSex; this.sAge = sAge; this.sJava = sJava; } //成员方法 int getNo() { return sNO; } String getName() { return sName; } char getSex() { return sSex; } int getAge() { return sAge; } double getJava() { return sJava; } } class StuTest { public static void main(String[] args) { Student s1 = new Student(110,"张三",'M',18,85.5); System.out.println("stu_1:学号:"+s1.getNo()+",姓名:"+s1.getName()+",性别:"+s1.getSex()+",年龄:"+s1.getAge()+",Java成绩:"+s1.getJava()); Student s2 = new Student(111,"李四",'M',20,78); System.out.println("stu_2:学号:"+s2.getNo()+",姓名:"+s2.getName()+",性别:"+s2.getSex()+",年龄:"+s2.getAge()+",Java成绩:"+s2.getJava()); Student s3 = new Student(112,"王五",'M',19,86); System.out.println("stu_3:学号:"+s3.getNo()+",姓名:"+s3.getName()+",性别:"+s3.getSex()+",年龄:"+s3.getAge()+",Java成绩:"+s3.getJava()); Student s4 = new Student(113,"李芸",'F',18,90); System.out.println("stu_4:学号:"+s4.getNo()+",姓名:"+s4.getName()+",性别:"+s4.getSex()+",年龄:"+s4.getAge()+",Java成绩:"+s4.getJava()); Student s5 = new Student(114,"李刚",'M',19,80); System.out.println("stu_5:学号:"+s5.getNo()+",姓名:"+s5.getName()+",性别:"+s5.getSex()+",年龄:"+s5.getAge()+",Java成绩:"+s5.getJava()); double aver = (s1.getJava()+s2.getJava()+s3.getJava()+s4.getJava()+s5.getJava())/5; System.out.println("average="+aver); //Scanner in = new Scanner(System.in); double[] x = new double[5]; x[0] = s1.getJava(); x[1] = s2.getJava(); x[2] = s3.getJava(); x[3] = s4.getJava(); x[4] = s5.getJava(); double max = x[0]; double min = x[0]; for(int i=1;i<5;i++) { if(x[i]>max) max = x[i]; } for(int i=1;i<5;i++) { if(x[i]<min) min = x[i]; } System.out.println("max="+max+",min="+min); } }