WEEK3作业

来源:互联网 发布:android蓝牙接收数据 编辑:程序博客网 时间:2024/05/22 16:38

   1. 定义一个工具类

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

方法分别有:

1.求数组值的和.

2.求数组中的最大值

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

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

工具类要求:

a.私有化构造方法

b.不希望被继承

public class Testa {

public static void main (String[]args){

int arr[]=new int[]{2,17,80,16,24,39};

double[]arry=new double[]{1.2,8.6,13.7,9.8,6.7};

//定义整形和double数组

Array.intShowArray(arr);

    Array.doubleShowArray(arry);

    Array.intSum(arr);

    Array.doubleSum(arry);

    Array.intMax(arr);

    Array.doubleMax(arry);

    Array.intSortAscending(arr);

    Array.doubleSortAscending(arry);

    Array.intSortDown(arr);

    Array.doubleSortDown(arry);

}

}

//定义一个不能被继承的工具类

    final class Array{

    //私有化构造方法

    private Array(){}

    //求数组值的和的方法

    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对象,并调用飞行方法.

package javase;

 

public class Test2 {

    public static void main(String[] args) {  

        BatMan batman =new BatMan();  

        batman.fly();  

        System.out.println("释放技能,加血");  

        SuperBatMan superbatman =new SuperBatMan();  

        superbatman.fly();

    }  

  

}  

class Hero{  

    private int age;  

    private int bloodNum;  

    private int ad;  

    private int defense;  

    void setAge(int age){  

        this.age = age;  

    }  

    int getAge(){  

        return age;  

    }

    void setBloodNum(int bloodNum){  

        this.bloodNum= bloodNum;  

    }  

    int getBlood(){  

        return bloodNum;  

    }  

   

    void setAtc(int ad){  

        this.ad= ad;  

    }  

    int getad(){  

        return ad;  

    }  

     

    void setDefense(int defense){  

        this.defense= defense;  

    }  

    int getDefense(){  

        return defense;  

    }  

}  

class BatManextends Hero{  

      

    void fly(){  

        System.out.println("飞行");  

    }  

}  

class SuperBatManextends BatMan{  

    void fly(){  

        System.out.println("超级飞行");  

    }  

}  

   

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

随机产生一个数(a)

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

package javase;

 

 

import java.util.Random;  

import java.util.Scanner;  

  

public class Test3 {  

    public static void main(String[] args) {  

        Random random =new Random();  

        int a = random.nextInt(1);            

        Scanner input =new Scanner(System.in);  

        boolean flag = true;            

        while(flag){  

            System.out.println("请输入一个所猜的数字:");  

            int b = input.nextInt();  

            if(b>a){  

                System.out.println("你猜的数比a");  

            }else if(b<a){  

                System.out.println("你猜的数比a");  

            }else{  

                System.out.println("恭喜你猜对了!");  

                flag =false;  

            }  

        }  

          

    }  

  

}  

 

原创粉丝点击