【JAVA_SE】作业练习1016
来源:互联网 发布:合肥c语言培训机构 编辑:程序博客网 时间:2024/06/13 22:59
【JAVA_SE】作业练习1016
第一题:
import java.util.Arrays;/* * 1. 定义一个工具类其中提供了对于整形数组和double类型数组的一些工具方法。方法分别有:1.求数组值的和.2.求数组中的最大值3.对数组进行升序排序.4.对数组进行倒序排序(也就是反转数组)工具类要求:a.私有化构造方法b.不希望被继承 * * */public class Demo1 { public static void main(String [] args){ int [] arr1=new int [] {15,5,16,14};// System.out.println("求数组值的和:"+MyArrays.mySum(arr1));// System.out.println("数组中的最大值:"+MyArrays.getMax(arr1));// MyArrays.mySort(arr1);// System.out.println("数组进行升序排序:"+Arrays.toString(arr1)); //在进行反转数组操作前一定要将之前对数组元素顺序有影响的操作都注释掉,不然会影响结果 MyArrays.bottomUp(arr1); System.out.println("反转数组:"+Arrays.toString(arr1)); double [] arr2=new double [] {15.6,5.2,16.8,13.5};// System.out.println("求数组值的和:"+MyArrays.mySum(arr2));// System.out.println("数组中的最大值:"+MyArrays.getMax(arr2));// MyArrays.mySort(arr2);// System.out.println("数组进行升序排序:"+Arrays.toString(arr2)); MyArrays.bottomUp(arr2); System.out.println("反转数组:"+Arrays.toString(arr2)); }}final class MyArrays{ private MyArrays(){ } //求数组值的和 public static int mySum(int [] arr){ int sum=0; for(int i=0;i<arr.length;i++){ sum+=arr[i]; } return sum; } public static double mySum(double [] arr){ double sum=0.0; for(int i=0;i<arr.length;i++){ sum+=arr[i]; } return sum; } //求数组中的最大值 public static int getMax(int [] arr){ for(int i=0;i<arr.length-1;i++){ if(arr[i]>arr[i+1]){ int temp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=temp; } } return arr[arr.length-1]; } public static double getMax(double [] arr){ for(int i=0;i<arr.length-1;i++){ if(arr[i]>arr[i+1]){ double temp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=temp; } } return arr[arr.length-1]; } //对数组进行升序排序 public static void mySort(int [] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } public static void mySort(double [] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ double temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } //对数组进行倒序排序(也就是反转数组) public static void bottomUp(int [] arr){ for(int i=0;i<=(arr.length/2-1);i++){ int temp1=arr[i]; int temp2=arr[arr.length-1-i]; arr[i]=temp2; arr[arr.length-1-i]=temp1; } } public static void bottomUp(double [] arr){ for(int i=0;i<=(arr.length/2-1);i++){ double temp1=arr[i]; double temp2=arr[arr.length-1-i]; arr[i]=temp2; arr[arr.length-1-i]=temp1; } }}
第二题:
/* * 2. a.定义一个英雄类 Hero 属性:(全部私有,提供公共方法让外部访问) 年龄, 血量 ,攻击力,防御力 方法: 释放技能,加血. 必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量 b.定义一个类BatMan继承Hero类 方法: 飞行(方法中输出一行打印"飞行") c.定义一个SuperBatMan类继承 BatMan类 方法: 重写飞行方法(方法中输出一行打印"超级飞行") 最终分别创建BatMan对象和SuperBatMan对象,并调用飞行方法. * */public class Demo2 { public static void main(String [] args){ //Hero类测试 Hero hero=new Hero(18,100,10,50); System.out.println("年龄:"+hero.getAge()); System.out.println("血量:"+hero.getHp()); System.out.println("攻击力:"+hero.getAttackPower()); System.out.println("防御力:"+hero.getDefensivePower()); hero.hpUp(); System.out.println("血量:"+hero.getHp()); //Batman类测试 Batman batman=new Batman(23,200,20,60); System.out.println("年龄:"+batman.getAge()); System.out.println("血量:"+batman.getHp()); System.out.println("攻击力:"+batman.getAttackPower()); System.out.println("防御力:"+batman.getDefensivePower()); batman.hpUp(); System.out.println("血量:"+batman.getHp()); batman.fly(); //SuperBatman测试 SuperBatman superbatman=new SuperBatman(30,300,40,70); superbatman.fly(); }}//Hero类class Hero{ private int age; public int getAge(){ return age; } private int hp; public int getHp(){ return hp; } private int attackPower; public int getAttackPower(){ return attackPower; } private int defensivePower; public int getDefensivePower(){ return defensivePower; } public Hero(){ } public Hero(int age,int hp,int attackPower,int defensivePower){ this.age=age; this.hp=hp; this.attackPower=attackPower; this.defensivePower=defensivePower; } public void hpUp(){ hp=hp+50; System.out.println("血量+50"); }}//Batman类class Batman extends Hero{ public Batman(int age,int hp,int attackPower,int defensivePower){ super(age,hp,attackPower,defensivePower); } public void fly(){ System.out.println("fly!!!!"); }}//SuperBatman类class SuperBatman extends Batman{ public SuperBatman(int age,int hp,int attackPower,int defensivePower){ super(age,hp,attackPower,defensivePower); } public void fly(){ System.out.println("超级飞行!!!!"); }}
第三题:
/* * 3. 实现一个猜数的小游戏.随机产生一个数(a)。Scanner 的方式来输入一个数字,并提供反馈,告诉用户该输入的值比a大还是比a小,直到最终用户猜中,显示结果. * */import java.util.Random;import java.util.Scanner;public class Demo3 { public static void main(String [] args){ Random random=new Random(); int r=random.nextInt(100); //System.out.println(r); Scanner number=new Scanner(System.in); boolean flag=true; while(flag){ System.out.println("输入所猜的数!"); int s=number.nextInt(); if (s>r){ System.out.println("大啦!"); }else if(s<r){ System.out.println("小啦!"); }else{ System.out.println("猜对啦!"); flag=false; } } }}
阅读全文
0 0
- 【JAVA_SE】作业练习1016
- 【JAVA_SE】作业练习1021
- 【JAVA_SE】作业练习1022
- 【JAVA_SE】作业练习1029
- 【Java_SE】作业练习1104
- 【Java_SE】作业练习1105
- 【JAVA_SE】10.1作业
- JAVA_SE基础——25.面向对象练习
- JAVA_SE基础——33.this关键字的练习
- JAVA_SE基础——44.抽象类的练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 第二次作业编码练习
- 1075. 链表元素分类(25)
- OpenCV3.2 ORB特征点 FLANN BruteForceMatcher匹配
- N皇后问题
- 模板类实现顺序表
- matlab教学(2)——数据导入
- 【JAVA_SE】作业练习1016
- 数据结构之二叉树
- java实现对象转换为map、xml字符串转化为map、map转化为xml字符串
- Java 线程池是如何工作的
- 脑补mysql-shell
- 洛谷P3929波动序列
- 嵌入式开发(ARM9)学习笔记(七)-Windows和Linux文件共享
- jstree使用方法
- js数组遍历的方法