這是一篇Java
練習(xí)貼,文章中布置了習(xí)題,講解了需求,跟考點(diǎn)。后面也跟著習(xí)題的代碼。有興趣的同學(xué)可以自己寫(xiě)一下代碼,然后再來(lái)跟文中的代碼對(duì)比,看看有什么值得學(xué)習(xí)的地方。
Java習(xí)題第一題
題目:創(chuàng)建一個(gè)LOL中的英雄類(lèi)和怪物類(lèi),要求:
怪物類(lèi)中加入生命值屬、等級(jí)屬性,生命值=等級(jí)*1000
英雄類(lèi)中加入“經(jīng)驗(yàn)值”,“等級(jí)”,“攻擊力”等屬性變量,加入“擊打”方法,擊打的目標(biāo)是怪物,擊打的結(jié)果是怪物的生命值-英雄攻擊力
考點(diǎn):類(lèi)的聲明、方法的聲明、對(duì)象的聲明與屬性調(diào)用
Hero類(lèi)
public class Hero {
int EXP;//經(jīng)驗(yàn)值
int grade;//等級(jí)
int aggressivity;//攻擊
//擊打的方法
int strike(int x){
return x - aggressivity;
}
public int getEXP() {
return EXP;
}
public void setEXP(int EXP) {
this.EXP = EXP;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public int getAggressivity() {
return aggressivity;
}
public void setAggressivity(int aggressivity) {
this.aggressivity = aggressivity;
}
}
Monster 類(lèi)
public class Monster {
int grade;//等級(jí)
int healthValue ;//生命值
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public int getHealthValue() {
healthValue = grade*1000;
return healthValue;
}
public void setHealthValue(int healthValue) {
this.healthValue = healthValue;
}
}
main
public class Work1 {
public static void main(String[] args) {
//怪物屬性
Monster m = new Monster();
m.setGrade(5);
System.out.println("怪物的等級(jí)為"+m.grade+"級(jí) 生命值為:"+m.getHealthValue());
//英雄
Hero h = new Hero();
h.setAggressivity(160);
int a;
a = h.strike(m.healthValue);
m.setHealthValue(a);
System.out.println("英雄擊打后的生命值:"+m.healthValue);
}
}
Java習(xí)題第二題
題目:自定義一個(gè)英雄類(lèi),要求:
英雄的級(jí)別最低為0,最高為30級(jí),經(jīng)驗(yàn)值最低為0,最高為30級(jí)時(shí)的經(jīng)驗(yàn)值
該類(lèi)中要求有一個(gè)含有參數(shù)的構(gòu)造函數(shù),參數(shù)為英雄的經(jīng)驗(yàn)值,初始化時(shí)要保證經(jīng)驗(yàn)值在要求范圍之內(nèi),通過(guò)經(jīng)驗(yàn)值計(jì)算英雄的級(jí)別,英雄的級(jí)別計(jì)算公式如下: N=當(dāng)前級(jí)別,EXP(經(jīng)驗(yàn)值)=30(N^3+5N)-80
構(gòu)建一個(gè)無(wú)參的構(gòu)造方法,將經(jīng)驗(yàn)值設(shè)置為0
利用英雄類(lèi)無(wú)參和帶有參數(shù)的構(gòu)造函數(shù)分別構(gòu)建英雄對(duì)象,并輸出英雄的等級(jí)和經(jīng)驗(yàn)值。
考點(diǎn):類(lèi)的聲明、構(gòu)造方法、this的使用,方法的調(diào)用
Hero類(lèi)
public class Hero2 {
int EXP;//經(jīng)驗(yàn)值
int grade;//等級(jí)
//有參的構(gòu)造函數(shù)
public Hero2(int EXP){
this.EXP = EXP;//經(jīng)驗(yàn)值
}
//無(wú)參的構(gòu)造函數(shù)
public Hero2(){
EXP=0;//經(jīng)驗(yàn)值
}
}
main
public class Work2 {
public static void main(String[] args) {
//無(wú)參構(gòu)造結(jié)果
Hero2 e= new Hero2();
System.out.print("無(wú)參構(gòu)造的");
System.out.println("經(jīng)驗(yàn)值為:"+e.EXP+" 時(shí),等級(jí)為:"+e.grade+" 級(jí)");
//有參構(gòu)造結(jié)果
int a=120000;
Hero2 h = new Hero2(a);
System.out.print("有參構(gòu)造的");
for(int i = 1 ; i <=30 ; i++ ) {
//System.out.println(i+"級(jí)經(jīng)驗(yàn)值:"+(30*(i*i*i+5*i)-80));//輸出1-30級(jí)每級(jí)的經(jīng)驗(yàn)值所需經(jīng)驗(yàn)
if((30*(i*i*i+5*i)-80) <= h.EXP && (30*((i+1)*(i+1)*(i+1)+5*(i+1))-80)>h.EXP ) {
h.grade=i;
break;
}
}
System.out.println("經(jīng)驗(yàn)值為:"+h.EXP+" 時(shí),等級(jí)為:"+h.grade+" 級(jí)");
}
}
以上是兩道Java
的習(xí)題及代碼,希望對(duì)同學(xué)們有所幫助。對(duì)Java
感興趣的同學(xué)可以看一下教程
- Java教程:http://o2fo.com/java/
- Java面試基礎(chǔ)題:http://o2fo.com/minicourse/play/00007
文章參考來(lái)源:blog.csdn.net/d694046387/java/article/details/107620181