1. 定义一个工具类
其中提供了对于整形数组和double类型数组的一些工具方法。
方法分别有:
1.求数组值的和.
2.求数组中的最大值
3.对数组进行升序排序.
4.对数组进行倒序排序(也就是反转数组)
工具类要求:
a.私有化构造方法
属性:(全部私有,提供公共方法让外部访问)
年龄, 血量 ,攻击力,防御力
方法:
释放技能,加血.
必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量
b.定义一个类BatMan继承Hero类
方法:
飞行(方法中输出一行打印"飞行")
c.定义一个SuperBatMan类继承 BatMan类
方法:
重写飞行方法(方法中输出一行打印"超级飞行")
随机产生一个数(a)。
其中提供了对于整形数组和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
数组中最大的值为;8
1 2 4 5 7 8
8 7 5 4 2 1
数组和为:29.7
数组中最大的值为;8.8
1.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("恭喜你,猜对了!");
}
}