10.15作业

来源:互联网 发布:java 广告位管理系统 编辑:程序博客网 时间:2024/06/05 18:17
1. 定义一个工具类
其中提供了对于整形数组和double类型数组的一些工具方法。
方法分别有:
1.求数组值的和.
2.求数组中的最大值
3.对数组进行升序排序.
4.对数组进行倒序排序(也就是反转数组)
工具类要求:
a.私有化构造方法

b.不希望被继承

package westos;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();}}
结果为:数组和为:27数组中最大的值为;81 2 4 5 7 8 8 7 5 4 2 1 数组和为:29.7数组中最大的值为;8.81.1 2.2 4.4 5.5 7.7 8.8 8.8 7.7 5.5 4.4 2.2 1.1 

2. a.定义一个英雄类 Hero
属性:(全部私有,提供公共方法让外部访问)
年龄, 血量 ,攻击力,防御力
方法:
释放技能,加血.
必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量
b.定义一个类BatMan继承Hero类
方法:
飞行(方法中输出一行打印"飞行")
c.定义一个SuperBatMan类继承 BatMan类
方法:
重写飞行方法(方法中输出一行打印"超级飞行")

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

public class Hero {private int age;private double hp;private double atk;private double def;Hero(int age,double hp,double atk,double def){this.age=age;this.hp=hp;this.atk=atk;this.def=def;}void method(boolean skill){if(skill){hp++;}}public static void main(String[] args) {BatMan s1=new BatMan(20,650,65,43);s1.fly();SuperBatMan s2=new SuperBatMan(22,700,60,45);s2.fly();}}class BatMan extends Hero{BatMan(int age, double hp, double atk, double def) {super(age, hp, atk, def);}void fly(){System.out.println("飞行");}}class SuperBatMan extends BatMan{SuperBatMan(int age, double hp, double atk, double def) {super(age, hp, atk, def);}void fly(){System.out.println("超级飞行");}}
结果为:飞行超级飞行

3. 实现一个猜数的小游戏.
随机产生一个数(a)。

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

public class Guess {public static void main(String[] args) {int a;a=(int)(1+Math.random()*10);System.out.println("请猜一个1-10的数:");Scanner sc=new Scanner(System.in);int b=sc.nextInt();while(a!=b){if(a>b){System.out.println("您猜的数比结果小!");}else if(a<b){System.out.println("您猜的数比结果大!");}System.out.println("请您重新猜一个数:");Scanner sc1=new Scanner(System.in);b=sc.nextInt();}System.out.println("恭喜你,猜对了!");}}


原创粉丝点击