day6day7作业

来源:互联网 发布:指甲刀品牌排行榜知乎 编辑:程序博客网 时间:2024/06/06 01:15
1. 定义一个工具类
其中提供了对于整形数组和double类型数组的一些工具方法。


方法分别有:


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


工具类要求:
a.私有化构造方法

b.不希望被继承

import java.util.Arrays;  




public class Tool {  
    int [] arr;  
    double [] arr1;  
      
    private Tool(int arr[]){  
        this.arr=arr;  
    }  
    private Tool(double arr1[]){  
        this.arr1=arr1;  
    }  
    void sumArr(){  
        int sum=0;  
        for(int i=0;i<arr.length;i++)  
            sum+=arr[i];  
        System.out.println("数组和为:"+sum);;  
    }  
    void sumArr1(){  
        double sum=0;  
        for(int i=0;i<arr1.length;i++)  
            sum+=arr1[i];  
        System.out.println("数组和为:"+sum);  
    }  
    void maxNumArr(){  
        int max=arr[0];  
        for(int i=0;i<arr.length;i++){  
            for(int j=i+1;j<arr.length;j++){  
                if(arr[i]<arr[j]){  
                    i=j;  
                    max=arr[j];  
                }  
            }  
        }  
        System.out.println("数组中最大的值为;"+max);  
    }  
    void maxNumArr1(){  
        double max=arr1[0];  
        for(int i=0;i<arr1.length;i++){  
            for(int j=i+1;j<arr1.length;j++){  
                if(arr1[i]<arr1[j]){  
                    i=j;  
                    max=arr1[j];  
                }  
            }  
        }  
        System.out.println("数组中最大的值为;"+max);  
    }  
    void sortArr(){  
        Arrays.sort(arr);  
          
    }  
    void printSortArr(){  
        for(int i=0;i<arr.length;i++)  
            System.out.print(arr[i]+" ");  
        System.out.println();  
    }  
    void sortArr1(){  
        Arrays.sort(arr1);  
          
    }  
    void printSortArr1(){  
        for(int i=0;i<arr1.length;i++)  
            System.out.print(arr1[i]+" ");  
        System.out.println();  
    }  
    void printFlashbackArr(){  
        for(int i=arr.length-1;i>-1;i--)  
            System.out.print(arr[i]+" ");  
        System.out.println();  
    }  
    void printFlashbackArr1(){  
        for(int i=arr1.length-1;i>-1;i--)  
            System.out.print(arr1[i]+" ");  
        System.out.println();  
    }  
    public static void main(String[] args) {  
        int arr[]={1,4,7,2,5,8};  
        Tool tool=new Tool(arr);  
        tool.sumArr();  
        tool.maxNumArr();  
        tool.sortArr();  
        tool.printSortArr();  
        tool.printFlashbackArr();  
        double arr1[]={1.1,4.4,7.7,2.2,5.5,8.8};  
        Tool tool1=new Tool(arr1);  
        tool1.sumArr1();  
        tool1.maxNumArr1();  
        tool1.sortArr1();  
        tool1.printSortArr1();  
        tool1.printFlashbackArr1();  
    }  

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

   必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量   
   
   b.定义一个类BatMan继承Hero类 
   方法:
        飞行(方法中输出一行打印"飞行")


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



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

package task;


public class t2 {
public static void main(String[] args) {
Hero hero=new Hero(16,255,163,72);
hero.behavior(true);

BatMan cover=new BatMan(999,999,999,999);
cover.act();
SuperBatMan cover1=new SuperBatMan(9999,9999,9999,9999);
cover1.act();
}
}
//定义英雄类hero
class Hero{
private double hp;
private int age;
        private   double damage;
private double defens;

//构造方法初始化变量
  Hero(double hp,int age,double damage,double defens){
   this.hp=hp;
this.age=age;
this.damage=damage;
this.defens=defens;


 }
 
 //方法 释放技能加血
 void behavior(boolean skill){
if(skill){
hp++;
}
 }

}
//batman类继承hero
class  BatMan extends Hero{
BatMan(double hp, int age, double damage, double defens) {
super(hp, age, damage, defens);
// TODO Auto-generated constructor stub
}
//方法 
void act(){
System.out.println("飞行");


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


import java.util.Scanner;


public class t3 {
public static void main(String[] args) {

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


Scanner sc=new Scanner(System.in);
System.out.println("请输入一个数");
int b=sc.nextInt();
for(int i=0;i<a;i++){
 if(b>a){
 
System.out.println("该数大于a");
 }
 else if(b<a){
System.out.println("该数小于a");
 
 }System.out.println("请再次输入");
 Scanner sc1=new Scanner(System.in);
 b=sc.nextInt();


 
}



if (a==b)  {
System.out.println("这个数是"+a);
}


}
}




原创粉丝点击