工具类、继承、随机数

/*1. 定义一个工具类
其中提供了对于整形数组和double类型数组的一些工具方法。

方法分别有:

1.求数组值的和.
2.求数组中的最大值
3.对数组进行升序排序.
4.对数组进行倒序排序(也就是反转数组)

工具类要求:
a.私有化构造方法
b.不希望被继承*/
package weekend02;

import java.util.Arrays;

public class User{

    public static void main(String[] args) {
        int[] arr=new int[]{1,2,3,4,5};
        System.out.println(ArrayTool.sum(arr));
        ArrayTool.sort(arr);
        System.out.println(Arrays.toString(arr));
        System.out.println(arr[arr.length-1]);
        ArrayTool.overTurn(arr);
        System.out.println(Arrays.toString(arr));

    }
}
final class ArrayTool {
    private ArrayTool(){//构造方法私有化,不能创建对象

    }
     static void sort(int[] arr) {//整形数组排序
        Arrays.sort(arr);
    }
     static int getMax(int[] arr) {//整形数组获取最大值
            Arrays.sort(arr);
            return arr[arr.length-1];

        }
     static int sum(int[] arr) {//整形数组求最大值
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        return sum;
    }

     static void overTurn(int[] arr) {//整形数组翻转
        for (int i = 0; i < (arr.length / 2); i++) {
            arr[i] = arr[i] ^ arr[arr.length - i-1];
            arr[arr.length - i-1] = arr[i] ^ arr[arr.length - i-1];
            arr[i] = arr[i] ^ arr[arr.length - i-1];
        }

     }
     static void sort(double[] arr) {//double型数组排序
            Arrays.sort(arr);
        }
     //-----------------------------------------------------------------------------------------------
     //double其实是对int型方法的重载
     static double getMax(double[] arr) {//double型数组获取最大值
            Arrays.sort(arr);
            return arr[arr.length-1];

        }
         static int sum(double[] arr) {//double型求和
            int sum = 0;
            for (int i = 0; i < arr.length; i++) {
                sum += arr[i];
            }
            return sum;
        }


         static void overTurn(double[] arr) {//double型翻转
            for (int i = 0; i < (arr.length / 2); i++) {
                double a = arr[i];

                arr[i] = arr[arr.length - i-1];
                arr[arr.length - i-1] =a;
            }`这里写代码片`

         }
     }

这里写图片描述

/*2. a.定义一个英雄类  Hero
   属性:(全部私有,提供公共方法让外部访问)
        年龄, 血量 ,攻击力,防御力
   方法:
        释放技能,加血.

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

   b.定义一个类BatMan继承Hero类 
   方法:
        飞行(方法中输出一行打印"飞行")


   c.定义一个SuperBatMan类继承 BatMan类
   方法:
        重写飞行方法(方法中输出一行打印"超级飞行")

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

public class Player{
    public static void main(String[] args) {
        BatMan batMan=new BatMan(); 
        SuperBatMan superbatman=new SuperBatMan();
        superbatman.fly();
         batMan.fly();
    }
}
class Hero{
    private int age;
    private int attackstrength;
    private int defencestrength;
    private int bloodnumber;
    //Hero(){//类的继承需要调用父类的构造器,不主动添加则为默认

    //}
     Hero(int age,int attackstrength,int defencestrength,int bloodnumber) {
             age=age;
             attackstrength=attackstrength;
             defencestrength=defencestrength;
             bloodnumber=bloodnumber;

    }
    void addBloodNumber(int blood){
        bloodnumber+=blood;
    }
}
class BatMan extends Hero{
    BatMan(){
        super(0,0,0,0);//调用父类有参构造,若没有主动添加,jvm会添加默认的
    }

    void fly(){
        System.out.println("飞行");
    }

}
class SuperBatMan extends BatMan{
    void fly(){//方法重写
        System.out.println("超级飞行");
    }

}

这里写图片描述

“`
/*3. 实现一个猜数的小游戏.
随机产生一个数(a)。
Scanner 的方式来输入一个数字,并提供反馈,告诉用户该输入的值比a大还是比a小,直到最终用户猜中,显示结果.*/
package weekend02;

import java.util.Random;
import java.util.Scanner;

public class Game {
public static void main(String[] args) {
System.out.println(“欢迎来到才随机数游戏行列”);
int times = 1;//记录猜测次数
Random random = new Random();//该类不是静态的,需要创建队像
int r = random.nextInt(100);
//System.out.println(r);
Scanner scanner = new Scanner(System.in);//该类不是静态的,需要创建队像
int input = scanner.nextInt();
while (input != r) {//判断输入是否和随机数相等
if (input > r) {
System.out.println(“大了”);
}
if (input < r) {
System.out.println(“小了”);
}
System.out.println(“请重新输入数据”);
input = scanner.nextInt();
times++;

        continue;
    }
    System.out.println("你共猜了" + times + "次");
    System.out.println("你猜中的随机数为" + input);
}

}

“`这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值