包含java炮彈躲避代碼的詞條

java語言 有一個(gè)剛出膛的炮彈,初速度是1000m/s出膛后,每秒降低10%的速度,問打擊一個(gè)5000米的目標(biāo)要多久

//這個(gè)是以整秒為單位,如果要精確到毫秒級別,可以自行優(yōu)化

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、射陽ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的射陽網(wǎng)站制作公司

public?static?void?main(String[]?args)?{

try?{

double?speek?=?1000;//初始速度

int?sec?=?0;//大概時(shí)間數(shù),秒

double?distance?=?5000.0;//實(shí)際距離

while?(true){

distance?=?distance?-?speek;

speek?=?speek?-?(speek?*?10?/?100);

sec?++;

System.out.println("第"+sec+"秒后,剩余距離="+distance);

if(distance?=?0){

break;

}

}

System.out.println("最終大約需要"+sec+"秒");

}?catch?(Exception?e)?{

e.printStackTrace();

}

}

java 炮彈 間隔發(fā)射

可以使用Timer和TimerTask類在java中實(shí)現(xiàn)定時(shí)任務(wù),詳細(xì)說明如下:

1、基礎(chǔ)知識

java.util.Timer

一種線程設(shè)施,用于安排以后在后臺線程中執(zhí)行的任務(wù)??砂才湃蝿?wù)執(zhí)行一次,或者定期重復(fù)執(zhí)行。此類是線程安全的:多個(gè)線程可以共享單個(gè) Timer 對象而無需進(jìn)行外部同步。

java.util.TimerTask

由 Timer 安排為一次執(zhí)行或重復(fù)執(zhí)行的任務(wù)。

2、示例代碼

該示例實(shí)現(xiàn)這樣一個(gè)功能,在系統(tǒng)運(yùn)行期間,每30分鐘,系統(tǒng)自動(dòng)檢查連接池中的可用連接數(shù),并輸出到日志中。

首先創(chuàng)建一個(gè)需要定時(shí)執(zhí)行的任務(wù)類,這個(gè)任務(wù)類需要繼承TimerTask,然后重寫run()方法,run()方法體中的代碼就是定時(shí)需要執(zhí)行的操作,在本demo中,就是獲取連接池中當(dāng)前可用連接數(shù),并輸出到日志中,具體實(shí)現(xiàn)代碼如下:

public class TaskAvailableConnectNumber extends TimerTask {

private Logger log = Logger.getLogger(TaskAvailableConnectNumber.class);

private ConnectionPool pool=ConnectionPool.getInstance();

@Override

publicvoid run() {

log.debug("當(dāng)前連接池中可用連接數(shù)"+pool.getAvailableConnectNumber());

}

}

下面定義一個(gè)監(jiān)聽器,負(fù)責(zé)在應(yīng)用服務(wù)器啟動(dòng)時(shí)打開定時(shí)器,監(jiān)聽器需要實(shí)現(xiàn)ServletContextListener接口,并重寫其中的contextInitialized()和contextDestroyed()方法,代碼如下:

public class OnLineListener implements ServletContextListener{

private Logger log = Logger.getLogger(OnLineListener.class);

Timer timer = null;

//在應(yīng)用服務(wù)器啟動(dòng)時(shí),會(huì)執(zhí)行該方法

publicvoid contextInitialized(ServletContextEvent arg0) {

//創(chuàng)建一個(gè)定時(shí)器,用于安排需要定時(shí)執(zhí)行的任務(wù)。

timer = new Timer();

//為定時(shí)器安排需要定時(shí)執(zhí)行的任務(wù),該任務(wù)就是前面創(chuàng)建的任務(wù)類TaskAvailableConnectNumber,并指定該任務(wù)每30分鐘執(zhí)行一次。

timer.schedule(new TaskAvailableConnectNumber(), 0, 30*60*1000);

log.debug("啟動(dòng)定時(shí)器");

}

//應(yīng)用服務(wù)器關(guān)閉時(shí),會(huì)執(zhí)行該方法,完成關(guān)閉定時(shí)器的操作。

public void contextDestroyed(ServletContextEvent arg0) {

if(timer!=null){

timer.cancel();//關(guān)閉定時(shí)器

log.debug("-----定時(shí)器銷毀--------");

}

}

}

監(jiān)聽器要想正常運(yùn)行,需要在web.xml文件中進(jìn)行配置,配置信息如下:

!-- 監(jiān)聽器配置開始 --

listener

listener-class

cn.sdfi.listen.OnLineListener

/listener-class

/listener

!-- 監(jiān)聽器配置結(jié)束 --

以上步驟完成后,一個(gè)簡單的定時(shí)器就算開發(fā)完成了。

用JAVA編寫一個(gè)小程序,不限類型好玩點(diǎn)的。

控制臺小游戲 class YZDEL

{

public static void main(String[] args)

{

java.util.Random Shiji = new java.util.Random();

java.util.Scanner Shuru = new java.util.Scanner(System.in);

java.util.Scanner Nandu = new java.util.Scanner(System.in);

int YingxHP = 20;

int YingxMP = 0;

int MogHP = 20;

int MogMP = 0;

int MogDo = 0;

int fangyu = 0;

System.out.println("┏━━━━╮┏━━┣┣┓ ╮ ┓┏━┳━┳┓┓━┓ ");

System.out.println("┏┣━━━┓┏━━┣┣┓ ┃┏ ┃ ┃┓┃ ╯ ");

System.out.println("┣┣━━━┫╭━━┻╯╮ ┃╰┓┃ ┃╯┏━┣━━┓");

System.out.println("┣┣━━━┫┏━━━━┓╭━━┣━┛┗━┻━┻┛┃┃");

System.out.println("┏┣━━━┓┣━━━━┫ ┃┃┃┗╮╮┃┃┣━╯");

System.out.println(" ┛┗╯┗━━━━╯┗╯╰╰━━┛┛┗━╯╰━┛");

System.out.println();

System.out.println(" 作者:天狐空幻");

System.out.println();

System.out.println("說明:勇者的操作方式為以下所示:");

System.out.println(" 使用攻擊需消耗1MP 傷害1HP");

System.out.println(" 使用蓄力可增加1MP 傷害0HP");

System.out.println(" 使用躲閃需消耗0MP 傷害0HP 躲避攻擊");

System.out.println(" 使用重?fù)粜柘?MP 傷害2HP 防御無效");

System.out.println(" 惡龍攻擊力高, 注意防御是取勝的關(guān)鍵");

System.out.println(" 惡龍MP達(dá)到4時(shí)可能會(huì)放出火焰無法躲避");

System.out.println(" 準(zhǔn)備說明完畢,那么讓我們來挑戰(zhàn)惡龍吧!");

System.out.println("==================================");

//難度選擇

System.out.println("請選擇難度");

System.out.println("1.娛樂 2.挑戰(zhàn) 3.噩夢");

int ND = Nandu.nextInt();

System.out.println("==================================");

while(true)

{

//HP,MP的顯示

System.out.print("勇者: ");

System.out.print(" HP ");

for(int x=YingxHP;x0;x--) System.out.print("*");

System.out.print(" "+YingxHP);

System.out.println();

System.out.print(" ");

System.out.print(" MP ");

for(int x=YingxMP;x0;x--) System.out.print("*");

System.out.print(" "+YingxMP);

System.out.println();

System.out.print("惡龍: ");

System.out.print(" HP ");

for(int y=MogHP;y0;y--) System.out.print("*");

System.out.print(" "+MogHP);

System.out.println();

System.out.print(" ");

System.out.print(" MP ");

for(int y=MogMP;y0;y--) System.out.print("*");

System.out.print(" "+MogMP);

System.out.println();

System.out.println("==================================");

//勝利判定

if(YingxHP1) {System.out.println();System.out.println("勇者HP為0! 不..不可能..我怎么會(huì)..勇者倒下了。再接再厲吧!~");System.out.println();break;}

if(MogHP1) {System.out.println();System.out.println("惡龍HP為0! 惡龍絕望的哀鳴中倒了下去。勇者勝利了。恭喜你挑戰(zhàn)成功??!");System.out.println();break;}

//角色輸入判定

System.out.println("你要做什么:");

System.out.println("1.攻擊 2.蓄力");

System.out.println("3.躲閃 4.重?fù)?);

System.out.println("____________________");

int Do = Shuru.nextInt();

//敵人輸入判定

//娛樂難度

if(ND==1){

for(int i=1;i3;i++) MogDo = Shiji.nextInt(4);}

//挑戰(zhàn)難度

if(ND==2){

if(YingxMP==0MogMP==0) {MogDo = 0;}

else if(MogMP==0){for(int i=1;i3;i++) MogDo = Shiji.nextInt(2);}

else if(YingxMP2MogMP2) MogDo = 2;

else if(MogMP4) {for(int i=1;i4;i++) MogDo = Shiji.nextInt(3);}

else MogDo = 3;}

//噩夢難度

if(ND==3){

if(Do==1) MogDo=1;

if(Do==2MogMP0) MogDo=2;

if(Do==2MogMP==0) MogDo=0;

if(Do==3MogMP4) MogDo=0;

if(Do==3MogMP=4) MogDo=3;}//變態(tài)判定。。

//戰(zhàn)斗分析

//防御

if(Do==3) {fangyu=1;System.out.println("你靈巧的躲避攻擊!");}

if(MogDo==1) {fangyu=1;System.out.println("惡龍進(jìn)行防御!");}

//角色判定

if(Do==1YingxMP==0) {System.out.println("MP不足!");}

if(Do==1YingxMP0) {

if(fangyu==0) {MogHP=MogHP-1;YingxMP=YingxMP-1;System.out.println("你發(fā)動(dòng)攻擊!");}

if(fangyu==1) {YingxMP=YingxMP-1;System.out.println("你的攻擊被格擋!");}}

if(Do==2) {YingxMP=YingxMP+1;System.out.println("你進(jìn)行蓄力!");}

if(Do==4YingxMP3) {System.out.println("MP不足!");}

if(Do==4YingxMP2) {MogHP=MogHP-2;YingxMP=YingxMP-3;System.out.println("你發(fā)動(dòng)重?fù)簦?);}

if(Do 4) System.out.println("你不知所措...");

//敵人判定

if(MogDo==2MogMP==0) {System.out.println("惡龍?jiān)诎l(fā)呆!");}

if(MogDo==2MogMP0) {

if(fangyu==0) {YingxHP=YingxHP-2;MogMP=MogMP-1;System.out.println("惡龍發(fā)動(dòng)攻擊!");}

if(fangyu==1) {MogMP=MogMP-1;System.out.println("惡龍的攻擊被躲開了!");}}

if(MogDo==0) {MogMP=MogMP+1;System.out.println("惡龍進(jìn)行蓄力!");}

if(MogDo==3MogMP4) {System.out.println("惡龍?jiān)诎l(fā)呆!");}

if(MogDo==3MogMP3) {YingxHP=YingxHP-4;MogMP=MogMP-4;System.out.println("惡龍發(fā)動(dòng)火焰吐吸!躲避不能!");}

//結(jié)束

fangyu = 0;

MogDo = 0;

System.out.println("____________________");

System.out.println();

System.out.println("=================================="); }

}

}

網(wǎng)頁題目:包含java炮彈躲避代碼的詞條
標(biāo)題鏈接:http://muchs.cn/article44/hjdohe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、品牌網(wǎng)站制作電子商務(wù)、域名注冊關(guān)鍵詞優(yōu)化、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站