您的位置:首页 > 编程语言 > Java开发

JavaSE练习2

2017-10-17 15:13 162 查看
1. 定义一个工具类

其中提供了对于整形数组和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+"次");
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: