JavaSE练习2
2017-10-17 15:13
162 查看
1. 定义一个工具类
其中提供了对于整形数组和double类型数组的一些工具方法。
方法分别有:
求数组值的和.
求数组中的最大值
对数组进行升序排序.
对数组进行倒序排序(也就是反转数组)
工具类要求:
a.私有化构造方法
b.不希望被继承
2. a.定义一个英雄类 Hero
属性:(全部私有,提供公共方法让外部访问)
年龄, 血量 ,攻击力,防御力
方法: 释放技能,加血.
必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量
b.定义一个类BatMan继承Hero类
方法:飞行(方法中输出一行打印"飞行")
c.定义一个SuperBatMan类继承 BatMan类
方法:重写飞行方法(方法中输出一行打印"超级飞行")
最终分别创建BatMan对象和SuperBatMan对象,并调用飞行方法.
3. 实现一个猜数的小游戏.随机产生一个数(a)。
Scanner 的方式来输入一个数字,并提供反馈,告诉用户该输入的值比a大还是比a小,直到最终用户猜中,显示结果.
其中提供了对于整形数组和double类型数组的一些工具方法。
方法分别有:
求数组值的和.
求数组中的最大值
对数组进行升序排序.
对数组进行倒序排序(也就是反转数组)
工具类要求:
a.私有化构造方法
b.不希望被继承
package study07; import java.util.*; public class HomeWork3 { public static void main(String []args){ int [] arr = new int[]{3,5,7,6,43}; System.out.println("数组的和为:"+Array.method1(arr)); System.out.println("数组中的最大值:"+Array.method2(arr)); Array.method3(arr); Array.method4(arr); } } final class Array{ //定义一个不能被继承的类 private Array(){ //私有化构造方法 } static int method1(int []arr){ int sum = 0; for(int i = 0;i<arr.length;i++){ sum += arr[i]; } return sum; } static double method1(double []arr){ double sum = 0; for(int i = 0;i<arr.length;i++){ sum += arr[i]; } return sum; } static int method2(int [] arr){ int max = arr[0]; for(int i =0;i<arr.length;i++){ if(arr[i]>max){ max = arr[i]; } } return max; } static double method2(double [] arr){ double max = arr[0]; for(int i =0;i<arr.length;i++){ if(arr[i]>max){ max = arr[i]; } } return max; } static void method3(int[]arr){ Arrays.sort(arr); System.out.print("数组升序排序结果是:"); for(int i =0;i<arr.length;i++){ System.out.print(arr[i]+" "); } } static void method3(double[]arr){ Arrays.sort(arr); System.out.print("数组升序排序结果是:"); for(int i =0;i<arr.length;i++){ System.out.print(arr[i]+" "); } } static void method4(int []arr){ for(int i = 0;i<arr.length/2;i++){ int temp = arr[i]; arr[i]= arr[arr.length-1-i]; arr[arr.length-1-i] = temp; } System.out.println(); System.out.print("数组反转后的输出为:"); for(int i =0;i<arr.length;i++){ System.out.print(arr[i]+" "); } } static void method4(double[] arr){ for(int i = 0;i<arr.length/2;i++){ double temp = arr[i]; arr[i]= arr[arr.length-1-i]; arr[arr.length-1-i] = temp; } System.out.println(); System.out.print("数组反转后的输出为:"); for(int i =0;i<arr.length;i++){ System.out.print(arr[i]+" "); } } }
2. a.定义一个英雄类 Hero
属性:(全部私有,提供公共方法让外部访问)
年龄, 血量 ,攻击力,防御力
方法: 释放技能,加血.
必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量
b.定义一个类BatMan继承Hero类
方法:飞行(方法中输出一行打印"飞行")
c.定义一个SuperBatMan类继承 BatMan类
方法:重写飞行方法(方法中输出一行打印"超级飞行")
最终分别创建BatMan对象和SuperBatMan对象,并调用飞行方法.
package study07; public class HomeWork2 { public static void main(String [] args){ BatMan batman = new BatMan(); SuperBatMan superbatman = new SuperBatMan(); batman.method2(); superbatman.method2(); } } class Hero{ private int age; private double blood; private int attack; private int defense; public void zst(int age,double blood,int attack,int defense){ this.age = age; this.blood = blood; this.attack = attack; this.defense= defense; } void method(){ System.out.println("释放技能"); } void method1(){ System.out.println("回血"); } } class BatMan extends Hero{ void method2(){ System.out.println("飞行"); } } class SuperBatMan extends BatMan{ void method2(){ System.out.println("超级飞行"); } }
3. 实现一个猜数的小游戏.随机产生一个数(a)。
Scanner 的方式来输入一个数字,并提供反馈,告诉用户该输入的值比a大还是比a小,直到最终用户猜中,显示结果.
package study07; import java.util.*; public class Homework1 { public static void main(String [] args){ int num = new Random().nextInt(10)+1; //从1-10产生一个随机数 Scanner sc= new Scanner(System.in); //创建对象 int count = 0; //定义一个计数器 int guessNumber = 0; //初始化成员变量 do{ System.out.print("请输入你猜的数字:"); guessNumber = sc.nextInt(); //从键盘录入一个数字 count++; //每猜一次次数累加 if(guessNumber>num){ //将随机产生的数与用户录入的数字作比较 System.out.println("你猜的数太大了!"); } if(guessNumber<num){ System.out.println("你猜的数太小了!"); } } while(guessNumber != num); System.out.println("恭喜你猜对了,一共猜了"+count+"次"); } }
相关文章推荐
- 【JavaSE】作业练习1119
- JavaSE_网络编程_TCP_练习4_与浏览器和服务端交互
- JavaSE练习 XML解析-Dom4j使用
- JavaSE练习 - BeanUtils的使用综合案例
- JavaSE 枚举 enum 练习
- 黑马程序员_日记8_JavaSE阶段性习题练习及复习
- Javase的shiro练习
- JavaSE基础练习
- 【JavaSE练习】小米2017暑期实习生面试题
- JavaSE 练习对面向对象思想、单列集合、双列集合的综合运用 - 斗地主
- javaSE第一部分_循环练习_百钱百鸡问题
- JavaSE(八)之集合练习一
- JavaSE-泛型的使用练习
- JAVASE基础-day23(递归练习)
- JavaSE实战——面向对象(练习)
- [javaSE] 练习队列线程和对象序列化
- 【JavaSE练习】面向对象_练习_模拟汽车的自动驾驶系统
- 【JavaSE练习】项目_项目_模拟用户登陆注册功能(IO完成)
- 03_JAVASE_语法基础下.ppt_练习
- [javaSE] GUI(练习-列出指定目录内容)