JavaSE练习2,javase练习
分享于 点击 26100 次 点评:136
JavaSE练习2,javase练习
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+"次");
}
}
相关文章
- 暂无相关文章
用户点评