作业10.15

来源:互联网 发布:米格31知乎 编辑:程序博客网 时间:2024/06/01 23:38

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


方法分别有:


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


工具类要求:
a.私有化构造方法
b.不希望被继承

public class Tools{

private Tools(){

}
public static void main(String[]args){
Tools tools = new Tools();
int [] arr1 = {1,4,7,9,0,3,5,7,2,8};
tools.arr1add(arr1);
tools.arr1max(arr1);
tools.arr1asc(arr1);
tools.arr1des(arr1);
double [] arr2 = {1.55,5.66,5.23,4.35,1.32,4.87,8.87,9.12,0.32,7.23};
tools.arr2add(arr2);
tools.arr2max(arr2);
tools.arr2asc(arr2);
tools.arr2des(arr2);
}
private void  arr1add(int[] arr1){
int sum=0;
for(int i= 0;i<arr1.length;i++){
sum+=arr1[i];
}
System.out.println("数组的和为:"+sum);
}
private void arr1max(int[]arr1){
int max=0;
for(int i=0;i<arr1.length;i++){
if(max<arr1[i]){
max=arr1[i];
}
}
System.out.println("数组的最大值为:"+max);
}
private void arr1asc(int[]arr1){
int temp;
System.out.println("升序后的数组为:");
for(int i =0;i<arr1.length;i++){
for(int j=1;j<arr1.length;j++){
if(arr1[i]>arr1[j]){
temp =arr1[i];
arr1[i]=arr1[j];
arr1[j]=temp;
}
}
}
for(int i =0;i<arr1.length;i++){
System.out.print(arr1);
System.out.print(" ");
}

}
private void arr1des(int[] arr1){
int temp;
System.out.println("反转后的数组为:");
for(int i=0;i<arr1.length/2;i++){
temp=arr1[i];
arr1[i]=arr1[arr1.length-1-i];
arr1[arr1.length-1-i]=arr1[i];
}
for(int i =0;i<arr1.length;i++){
System.out.print(arr1);
System.out.print(" ");
}
}
private void  arr2add(double[] arr2){
int sum=0;
for(int i= 0;i<arr2.length;i++){
sum+=arr2[i];
}
System.out.println("数组的和为:"+sum);
}
private void arr2max(double[]arr2){
double max=0;
for(int i=0;i<arr2.length;i++){
if(max<arr2[i]){
max=arr2[i];
}
}
System.out.println("数组的最大值为:"+max);
}
private void arr2asc(double[]arr2){
double temp;
System.out.println("升序后的数组为:");
for(int i =0;i<arr2.length;i++){
for(int j=1;j<arr2.length;j++){
if(arr2[i]>arr2[j]){
temp =arr2[i];
arr2[i]=arr2[j];
arr2[j]=temp;
}
}
}
for(int i =0;i<arr2.length;i++){
System.out.print(arr2);
System.out.print(" ");
}

}
private void arr2des(double[] arr2){
double temp;
System.out.println("反转后的数组为:");
for(int i=0;i<arr2.length/2;i++){
temp=arr2[i];
arr2[i]=arr2[arr2.length-1-i];
arr2[arr2.length-1-i]=arr2[i];
}
for(int i =0;i<arr2.length;i++){
System.out.print(arr2);
System.out.print(" ");
}

}


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

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


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

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

public class Hero{
Hero(){
Age=20;
BloodVolume=5000;
Aggressivity=300;
DefensiveForce=100;
}
private int Age;
private int BloodVolume;
private int Aggressivity;
private int DefensiveForce;

void ReleasingSkills(){
System.out.println("释放技能");
}
void AddBlood(){
System.out.println("加血");
}

public static void main(String[]args){
BatMan batman= new BatMan();
batman.Fly();
batman.ReleasingSkills();
batman.AddBlood();
SuperBatMan superbatman=new SuperBatMan();
superbatman.Fly();
superbatman.ReleasingSkills();
superbatman.AddBlood();

}

}
 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.*;


public class GuessNum{
public static void main(String[]args){
GuessNum guessnum=new GuessNum();
guessnum.inputNum();
}
int num;
int a;
void inputNum(){
Random d =new Random();
int a =d.nextInt(10);
System.out.println("请输入一个数字:");
Scanner sc=new Scanner(System.in);
num=sc.nextInt();
if(num<a){
System.out.println("输入的值比a小,请重新输入!");
inputNum();
}else if(num>a){
System.out.println("输入的值比a大,请重新输入!");
inputNum();
}else{
System.out.println("恭喜你猜中了!本次产生的随机数是:"+num);
}
}
}


原创粉丝点击