java继承

1. 定义一个工具类

其中提供了对于整形数组和double类型数组的一些工具方法。方法分别有:

 

1.求数组值的和.

2.求数组中的最大值

3.对数组进行升序排序.

4.对数组进行倒序排序(也就是反转数组)

 

工具类要求:

a.私有化构造方法

b.不希望被继承

importjava.util.Arrays;

public class ToolsClass1 {

    public static void main(String[] args) {

        Instrument instrument=new Instrument();

        instrument.SumAll();

        instrument.Max();

        instrument.RiseSort();

        instrument.DownSort();

    }

}

class Instrument{

    static int [] array1={12,9,23,6,5,9,15,26};//定义并初始化整形数组array1

    static double [] array2={12.232,9.235,56.234,63.964,9.1235,24.1235,17.2365,23.0};//定义并初始化浮点形数组array2

    static int sum1=0;

    static double sum2=0;

   

    int max1=array1[0];

    double max2=array2[0];

   

     Instrument(){//构造函数

       

    }

    static void SumAll(){//求数组中各元素的和

        for(int i=0;i<array1.length;i++){

            sum1+=array1[i];

        }

        for(int j=0;j<array2.length;j++){

            sum2+=array2[j];

        }

        System.out.println("整形数组中各元素的和为:" +sum1);

        System.out.println("浮点形数组中各元素的和为:" +sum2);

    }

   

    void Max(){//求数组的最大值

        for(int k=0;k<array1.length;k++){

            if(array1[k] > max1){

                max1=array1[k];

            }

        }

        System.out.println("整形数组中的最大值为:" + max1);

        for(int m=0;m<array2.length;m++){

            if(array2[m] > max2){

                max2=array2[m];

            }

        }

        System.out.println("浮点形数组中的最大值为:" + max2);

    }

    static void RiseSort(){//将数组进行升序排列

        Arrays.sort(array1);

        System.out.println("整形数组的升序排列为:");

        for(int i=0;i<array1.length;i++){

            System.out.print(array1[i] + " ");

        }

        System.out.println();

        Arrays.sort(array2);

        System.out.println("浮点形数组的升序排列为:");

        for(int i=0;i<array2.length;i++){

            System.out.print(array2[i] + " ");

           

        }

        System.out.println();

    }

    static void DownSort(){//将数组进行降序排列

        Arrays.sort(array1);

        System.out.println("整形数组的将序排列为:");

        for(int i=array1.length-1;i>0;i--){

            System.out.print(array1[i] + " ");

        }

        System.out.println();

        Arrays.sort(array2);

        System.out.println("浮点形数组的将序排列为:");

        for(int i=array2.length-1;i>0;i--){

            System.out.print(array2[i] + " ");

        }

        System.out.println();

    }

}


2. a.定义一个英雄类 Hero

   属性:(全部私有,提供公共方法让外部访问)

        年龄, 血量 ,攻击力,防御力

   方法:

        释放技能,加血.

             

   必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量  

  

   b.定义一个类BatMan继承Hero类

   方法:

        飞行(方法中输出一行打印"飞行")

             

             

   c.定义一个SuperBatMan类继承 BatMan类

   方法:

        重写飞行方法(方法中输出一行打印"超级飞行")

             

   最终分别创建BatMan对象和SuperBatMan对象,并调用飞行方法.

public class Hero {

    private int age;

    private double bland;

    private double agrrsive;

    private double protection;

    public static void main(String[] args) {

        Hero hero=new Hero(29,89.6,200.00,150.0);

        hero.Skill();//创建主类对象

        System.out.println("加血后的血量为:" + hero.RiseBland(50) + "PH");

   

        BatMan batMan=new BatMan();//创建BatMan类对象,在调用子类对象的进程中,必定会先去调用主类的构造方法.在子类的构造函数中,super(参数列表)进行调用主类的构造函数.

        batMan.Flay();//调用BatMan类的方法

       

        SuperBatMan superbatman=new SuperBatMan();//创建SuperBatMan类的对象

        superbatman.Flay();//此类中的Flay方法与BatMan中的Flay方法构成重写,因此用子类对象调用的方法优先执行子类中的Flay方法.

    }

    Hero(int ageParm,double blandParm,double agrrsiveParm,double protectionParm){

        age=ageParm;

        bland=blandParm;

        agrrsive=agrrsiveParm;

        protection=protectionParm;

    }

    void Skill(){

        this.agrrsive=agrrsive*2;

        this.bland=bland/2.0;

        System.out.println("释放技能之后的攻击力为:" + this.agrrsive);

        System.out.println("释放技能之后的血量为:" + this.bland + "PH");

    }

   

    double RiseBland(double bland1){

        this.bland=bland+bland1;

        return this.bland;

    }

}

 

class BatMan extends Hero{

    BatMan() {

        super(23, 56.23, 150.0, 90.50);//继承中,子类的构造过程中,必定会先去调用父类的构造函数,并且在子类的构造函数中的第一行用super(参数列表)去调用父类的构造函数.

       

    }

 

    void Flay(){

        System.out.println("BatMan类中的飞行方法:" + "---------------飞行");

    }

}

 

class SuperBatMan extends BatMan{

    void Flay(){//BatMan中的void Flay()方法构成重写

        System.out.println("SuperBatMan类中的飞行方法:" + "---------------超级飞行");

    }

}


3. 实现一个猜数的小游戏.

随机产生一个数(a)。

Scanner 的方式来输入一个数字,并提供反馈,告诉用户该输入的值比a大还是比a小,直到最终用户猜中,显示结果.

importjava.util.*;

public class Guess {

    public static void main(String[] args) {

        Scanner sc =new Scanner(System.in);

        System.out.print("请用户说出你猜测的整形数:");

        System.out.println(" ");

        int b=sc.nextInt();

        Guess guess=new Guess();

        guess.Tickling(b);

    }

    void Tickling(int b){

        int a=(int)(Math.random()*100+1);

        System.out.print("系统自动产生的随机数是a: " + a);

        System.out.println(" ");

        if(a!=b){

          do{   if(a<b){

                 System.out.println("您输入的值比a,请重新输入:");

                break;

              }

               else{

                System.out.println("您输入的值比a,请重新输入:");

                break;

              }

         }

          while(a!=b);

        }

       

        else{

            System.out.println("恭喜您,猜中了数字a的值:");

        }

    }

}

 

C编程作业:

1. #include<stdio.h>

void main()

{

       int x,y,z;

       int max1=0;

       int max2=0;

       printf("请分别输入三个整数:");

       scanf("%d%d%d",&x,&y,&z);

        max1=(x>y)?x:y;

        max2=(max1>z)?max1:z;

       printf("三个数中的最大值为:%d\n",max2);

 }

2. #include<stdio.h>

void main(){

       int i;

       int sum1=0;

       int sum2=1;

       for(i=1;i<=20;i++){

              sum2 *=i;

              sum1 +=sum2;

       }

       printf("计算结果为:%d\n",sum1);

}

3. #include<stdio.h>

void main()

{

       long int a;

       int b1,b2,c1,c2,d1,d2,e1,e2,f1,f2;

       printf("请输入一个五位数的整形数:a");

       scanf("%d",&a);

       b1=a%10;

       c1=(a%100)/10;

       d1=(a%1000)/100;

       e1=(a/1000)%10;

       f1=a/10000;

       b2=(b1+6)%8;

       c2=(c1+6)%8;

       d2=(d1+6)%8;

       e2=(e1+6)%8;

       f2=(f1+6)%8;

       printf("最后的结果为:%d%d%d%d%d\n",f2,e2,d2,c2,b2);

      

}

学生社团系统-学生社团“一站式”运营管理平台-学生社团管理系统-基于SSM的学生社团管理系统-springboot学生社团管理系统.zip-Java学生社团管理系统开发实战-源码 更多学生社团系统: SpringBoot+Vue学生社团“一站式”运营管理平台源码(活动管理+成员考核+经费审批) Java学生社团管理系统开发实战:SSM升级SpringBoot(招新报名+场地预约+数据看板) 基于SpringSecurity的社团管理APP(移动端签到+权限分级+消息推送) 企业级社团数字化平台解决方案(SpringBoot+Redis缓存+Elasticsearch活动搜索) 微信小程序社团服务系统开发(活动直播+社团文化墙+成员互动社区) SpringBoot社团核心源码(多角色支持+工作流引擎+API接口开放) AI赋能社团管理:智能匹配兴趣标签+活动热度预测+成员贡献度分析(附代码) 响应式社团管理平台开发(PC/移动端适配+暗黑模式+无障碍访问) 完整学生社团系统源码下载(SpringBoot3+Vue3+MySQL8+Docker部署) 高校垂直领域社团平台:百团大战系统+社团星级评定+跨校活动联盟 适用对象:本代码学习资料适用于计算机、电子信息工程、数学等专业正在做毕设的学生,需要项目实战练习的学习者,也适用于课程设计、期末大作业。 技术栈:前端是vue,后端是springboot,项目代码都经过严格调试,代码没有任何bug! 核心管理:社团注册、成员管理、权限分级 活动运营:活动发布、报名签到、场地预约 资源服务:经费申请、物资管理、文档共享 数据分析:成员活跃度、活动效果评估、社团影响力排名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值