作业1013

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

方法分别有:

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

工具类要求:
a.私有化构造方法
b.不希望被继承
*/
public class Homework01{
    public static void main(String[] args){
        //定义一个整形和double型数组
        int[] arr=new int[]{5,66,1,46,28,65};
        double[] arrd =new double[]{8.5,9.8,44.4,3.3,6.8};
        //1.求数组值的和.
        //2.求数组中的最大值
        //3.对数组进行升序排序.
        //4.对数组进行倒序排序(也就是反转数组)
        ArrayTool.intShowArray(arr);
        ArrayTool.doubleShowArray(arrd);
        ArrayTool.intSum(arr);
        ArrayTool.doubleSum(arrd);
        ArrayTool.intMax(arr);
        ArrayTool.doubleMax(arrd);
        ArrayTool.intSortAscending(arr);
        ArrayTool.doubleSortAscending(arrd);
        ArrayTool.intSortDown(arr);
        ArrayTool.doubleSortDown(arrd);
    }
}
//定义一个不能被继承的工具类 
final class ArrayTool{
    //私有化构造方法
    private ArrayTool(){}
    //求数组值的和的方法
    static void intSum(int[] arr){
        int sum=0;
        for(int i=0; i<arr.length; i++){
            sum+=arr[i];
        }
        System.out.println("整形数组的和是:"+sum);
    }
    static void doubleSum(double[] arr){
        double sum=0.0;
        for(int i=0; i<arr.length; i++){
            sum+=arr[i];
        }
        System.out.println("浮点型数组的和是:"+sum);
    }
    //求数组最大值的方法
    static void intMax(int[] arr){
        int max=arr[0];
        for(int i=0; i<arr.length; i++){
            if(max<arr[i]){
                max=arr[i];
            }
        }
        System.out.println("整形数组的最大值:"+max);
    }
    static void doubleMax(double[] arr){
        double max=arr[0];
        for(int i=0; i<arr.length; i++){
            if(max<arr[i]){
                max=arr[i];
            }
        }
        System.out.println("浮点型数组的最大值:"+max);
    }
    //数组升序排序的方法
    static void intSortAscending(int[] arr){
        for(int i=0; i<arr.length; i++){
            for(int j=i; j<arr.length-1;j++){
                if(arr[i]>arr[j+1]){
                    int temp;
                    temp=arr[i];
                    arr[i]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        System.out.print("整形数组的升序排序: [");
        for(int i=0; i<arr.length; i++){
            if(i==arr.length-1){
                System.out.print(arr[i]+"]");
            }else{
            System.out.print(arr[i]+" ");
            }
        }
        System.out.println();
    }
    static void doubleSortAscending(double[] arr){
        for(int i=0; i<arr.length; i++){
            for(int j=i; j<arr.length-1;j++){
                if(arr[i]>arr[j+1]){
                    double temp;
                    temp=arr[i];
                    arr[i]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        System.out.print("浮点型数组的升序排序: [");
        for(int i=0; i<arr.length; i++){
            if(i==arr.length-1){
                System.out.print(arr[i]+"]");
            }else{
            System.out.print(arr[i]+" ");
            }
        }
        System.out.println();
    }
    //数组倒叙排序的方法
    static void intSortDown(int[] arr){
        for(int i=0; i<arr.length; i++){
            for(int j=i; j<arr.length-1;j++){
                if(arr[i]<arr[j+1]){
                    int temp;
                    temp=arr[i];
                    arr[i]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        System.out.print("整形数组的降序排序: [");
        for(int i=0; i<arr.length; i++){
            if(i==arr.length-1){
                System.out.print(arr[i]+"]");
            }else{
            System.out.print(arr[i]+" ");
            }
        }
        System.out.println();
    }
    static void doubleSortDown(double[] arr){
        for(int i=0; i<arr.length; i++){
            for(int j=i; j<arr.length-1;j++){
                if(arr[i]<arr[j+1]){
                    double temp;
                    temp=arr[i];
                    arr[i]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        System.out.print("浮点型数组的降序排序: [");
        for(int i=0; i<arr.length; i++){
            if(i==arr.length-1){
                System.out.print(arr[i]+"]");
            }else{
            System.out.print(arr[i]+" ");
            }
        }
        System.out.println();
    }
    //打印数组的方法
    static void intShowArray(int[] arr){
        System.out.print("整型数组为: [");
        for(int i=0; i<arr.length; i++){
            if(i==arr.length-1){
                System.out.print(arr[i]+"]");
            }else{
            System.out.print(arr[i]+" ");
            }
        }
        System.out.println();
    }
    static void doubleShowArray(double[] arr){
        System.out.print("浮点型数组为: [");
        for(int i=0; i<arr.length; i++){
            if(i==arr.length-1){
                System.out.print(arr[i]+"]");
            }else{
            System.out.print(arr[i]+" ");
            }
        }
        System.out.println();
    }
}

这里写图片描述

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

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

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


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

   最终分别创建BatMan对象和SuperBatMan对象,并调用飞行方法.
*/
public class Homework02{
    public static void main(String[] args){
        //创建对象
        BatMan b = new BatMan();
        SuperBatMan s = new SuperBatMan();
        调用飞行方法
        b.fly();
        s.fly();
    }
}
//定义一个英雄类  Hero
class Hero{
    //私有化
    private int age;
    private int blood;
    private int attack;
    private int defense;
    //构造方法
    Hero(){}
    //提供外部访问的方法
    void setAge(int age){
        this.age= age;
    }
    void setBlood(int blood){
        this.blood= blood;
    }
    void setAattac(int attack){
        this.attack= attack;
    }
    void setDefense(int defense){
        this.defense= defense;
    }
    int getAge(){
        return age;
    }
    int getBlood(){
        return blood;
    }
    int getAttack(){
        return attack;
    }
    int getDefense(){
        return defense;
    }
    //技能
    void skill(){
        System.out.println("skill");
    }
    //回血
    void recover(int blood){
        this.blood += blood;
    }
}
//定义一个类BatMan继承Hero类 
class BatMan extends Hero{
    //飞行方法
    void fly(){
        System.out.println("飞行");
    }
}
class SuperBatMan extends BatMan{
    //重写飞行方法
    void fly(){
        System.out.println("超级飞行");
    }
}

这里写图片描述

/*
3. 实现一个猜数的小游戏.
随机产生一个数(a)。
Scanner 的方式来输入一个数字,并提供反馈,告诉用户该输入的值比a大还是比a小,直到最终用户猜中,显示结果.
*/
//导包
import java.util.Scanner;
public class Homework03{
    public static void main(String[] args){
        smallGame();
    }
    //定义小游戏的函数
    public static void smallGame(){
        Scanner sr = new Scanner(System.in);
        //定义一个1到100的随机数
        int count = (int)(Math.random()*100+1);
        //给用户限制一下输入
        System.out.println("猜一猜这个数是多少------(范围:1--100)");
        while(true){
            //用户输入数值
            int i = sr.nextInt();
            //判断如果猜对了就退出总循环
            if(i==count){
                System.out.println("恭喜你猜对了");
                break;
            }
            //如果大了就输出大了并退出当前循环
            else if(i>count){
                System.out.println("大了");
                continue;
            }else if(i<count){
                System.out.println("小了");
                continue;
            }
        }
    }
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值