作业一
/*
定义一个工具类
其中提供了对于整形数组和double类型数组的一些工具方法。
方法分别有:
1.求数组值的和.
2.求数组中的最大值
3.对数组进行升序排序.
4.对数组进行倒序排序(也就是反转数组)
工具类要求:
a.私有化构造方法
b.不希望被继承
*/
import java.util.Arrays;
public class Homework1{
public static void main(String[] args){
int [] arr=new int [] {31,14,86,96,47};
System.out.println("该数组的和="+Array.getSum(arr));
System.out.println("该数组中的最大值="+Array.getMax(arr));
Array.sortUp(arr); //调用工具类中的升序方法
System.out.println("升序排列="+Arrays.toString(arr));//将数组以字符串形式输出
Array.sortReverse(arr);
System.out.println("反转数组="+Arrays.toString(arr));
double [] arr1=new double [] {67.3,14.5,6.9,33.3,23.0};
System.out.println("该数组的和="+Array.getSum(arr1));
System.out.println("该数组中的最大值="+Array.getMax(arr1));
Array.sortUp(arr1); //调用工具类中的升序方法
System.out.println("升序排列="+Arrays.toString(arr1));//将数组以字符串形式输出
Array.sortReverse(arr1);
System.out.println("反转数组="+Arrays.toString(arr1));
}
}
final class Array{
//私有化此类
private Array(){
}
//数组求和
static int getSum(int [] arr){
int sum=0;
for(int i=0;i<arr.length;i++){
sum+=arr[i];
}
return sum;
}
static double getSum(double [] arr){
double sum=0.0;
for(int i=0;i<arr.length;i++){
sum+=arr[i];
}
return sum;
}
//求数组中最大值
static int getMax(int [] arr){
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[j]>arr[i]){
int temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
}
}
return arr[0];
}
static double getMax(double [] arr){
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[j]>arr[i]){
double temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
}
}
return arr[0];
}
//升序排列
static void sortUp(int [] arr){
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
static void sortUp(double [] arr){
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
double temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
//倒序排列(反转数组)
static void sortReverse(int [] arr){
for(int i=0;i<=(arr.length/2);i++){
int temp=arr[i];
arr[i]=arr[arr.length-i-1];
arr[arr.length-i-1]=temp;
}
}
static void sortReverse(double [] arr){
for(int i=0;i<=(arr.length/2);i++){
double temp=arr[i];
arr[i]=arr[arr.length-i-1];
arr[arr.length-i-1]=temp;
}
}
}
作业二
/*
a.定义一个英雄类 Hero
属性:(全部私有,提供公共方法让外部访问)
年龄, 血量 ,攻击力,防御力
方法:
释放技能,加血.
必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量
b.定义一个类BatMan继承Hero类
方法:
飞行(方法中输出一行打印"飞行")
c.定义一个SuperBatMan类继承 BatMan类
方法:
重写飞行方法(方法中输出一行打印"超级飞行")
最终分别创建BatMan对象和SuperBatMan对象,并调用飞行方法.
*/
public class Homework2{
public static void main(String[] args){
BatMan batman=new BatMan();
SuperBatMan superbatman=new SuperBatMan();
batman.fly();
superbatman.fly();
}
}
class Hero{
private int age; //年龄
private int hp; //血量
private int atk; //攻击力
private int def; //抗性
//初始化变量:提供公共方法供外界访问
void setAge(int age){
this.age=age;
}
int getAge(){
return this.age;
}
void setHp(int hp){
this.hp=hp;
}
int getHp(){
return this.hp;
}
void setAtk(int atk){
this.atk=atk;
}
int getAtk(){
return this.atk;
}
void setDef(int def){
this.def=def;
}
int getDef(int def){
return this.def;
}
/*
Hero(){
父类无参构造
}
*/
//父类有参构造:初始化成员变量方法
Hero(int age,int hp,int atk,int def){
this.age=age;
this.hp=hp;
this.atk=atk;
this.def=def;
}
void skill(){
System.out.println("使用技能");
}
void addHp(){
hp=this.hp+33;
System.out.println("血量增加"+33);
}
}
class BatMan extends Hero{
//调用父类有参构造方法
BatMan(){
super(1,1,1,1);
}
void fly(){
System.out.println("i can fly...hahaaa");
}
}
class SuperBatMan extends BatMan{
void fly(){
System.out.println("i can superfly.../摊手");
}
}
作业三
/*
实现一个猜数的小游戏.
随机产生一个数(a)。
Scanner 的方式来输入一个数字,并提供反馈,告诉用户该输入的值比a大还是比a小,直到最终用户猜中,显示结果.
*/
import java.util.*;
public class Homework3{
public static void main(String[] args){
Random random=new Random();
int randomNum=random.nextInt(11); //产生0-10的随机数
System.out.println("请输入您所猜的数字(0-10的整数):");
Scanner sc=new Scanner(System.in);
int guess=sc.nextInt(); //获取用户键盘输入的数字
while(guess != randomNum){
if(guess<0 || guess>10){
System.out.println("您输入的数字不合法,请重新输入:");
}
else if(guess > randomNum){
System.out.println("您猜的数字大了,请重新输入:");
System.out.println("----------------------------");
}
else{
System.out.println("您猜的数字小了,请重新输入:");
System.out.println("----------------------------");
}
guess = sc.nextInt();
}
System.out.println("恭喜,您猜对了!");
}
}