第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我正在尋找這個(gè)無限循環(huán)的替代方案

我正在尋找這個(gè)無限循環(huán)的替代方案

慕后森 2023-02-23 10:54:20
我在下面的代碼中使用了一個(gè) while(true) 循環(huán),但我們已經(jīng)停止使用它了。我想不出另一種方法來做到這一點(diǎn)。我試過使用 do-while 循環(huán),但這對(duì)我的情況沒有幫助。'''javawhile(true){            System.out.println("\nSelect the number of the Option you wish to carry out:\n    1) Enter Scores\n    2) Find Golfer\n    3) Display Scoreboard\n    4) Edit Scoresheet\n    5) Exit\n ");            userChoice = integerVerify(); //Used to verify whether user input is a valid number            switch (userChoice) {                case 1:                    System.out.println("Please enter the scores in the following order");                    displayPlayers();   //Displays scoreboard to help users enter player scores in order.                    addScores();    //Used to verify whether user input is a valid String                    break;                case 2:                    System.out.println("**********PLEASE ENTER THE NAME OF THE PLAYER YOU WISH TO FIND**********");                    findPlayer();                    break;                case 3:                    displayPlayers();                    break;                case 4:                    options();                    break;                case 5:                    System.out.println("Are you sure you wish to exit?");                    confirm = stringVerify();                    if (confirm.equalsIgnoreCase("yes") || confirm.equalsIgnoreCase("y")) {                        System.out.println("Thank you for using our application.");                        System.out.println("Exiting");                        System.exit(0);                    }                    break;                default:                    System.out.println("Please enter an appropriate option.");            }        }'''代碼需要拒絕任何不在 switch-case 中的東西......但它還需要顯示適當(dāng)?shù)南ⅲ瑹o論是通過函數(shù)還是來自循環(huán)本身,最終,我仍然需要它循環(huán)直到退出選項(xiàng)(案例 5)被輸入。
查看完整描述

1 回答

?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

大多數(shù)長時(shí)間運(yùn)行的系統(tǒng)都有某種頂級(jí)“無限”循環(huán)。我不認(rèn)為這有什么大問題,但在政治上有些人不喜歡無限循環(huán)。


如果這是您的問題,請(qǐng)將布爾“運(yùn)行”標(biāo)志初始化為 true,使用 while(running) 而不是 System.exit() 將運(yùn)行設(shè)置為 false。應(yīng)該是一樣的效果。


public static void main(String[] s)

{

    Boolean running=true;

    while(running) {        

         switch() {

         ...

             case 5:

               ...

                if(exitConditionsMet) 

                    running=false;

          …

          }         

     }

     return; // Just let main return to exit program.

 }

從技術(shù)上講,沒有真正的區(qū)別,但有些人已經(jīng)接受過掃描 while(true) 構(gòu)造的培訓(xùn),并將其稱為問題。


標(biāo)志方法有幾個(gè) SLIGHT 優(yōu)勢(shì)......


通過函數(shù)退出的控制流是意想不到的。如果您在非常高的級(jí)別掃描該代碼只是為了尋找流控制(大括號(hào)和 if/while/for/break 類型構(gòu)造),您不會(huì)立即看到該循環(huán)將永遠(yuǎn)退出。

出于同樣的原因,一些靜態(tài)分析工具可能會(huì)有些混亂。

通常應(yīng)避免使用 System.exit(作為習(xí)慣問題,在本例中不是特指)。System.exit 可以強(qiáng)制容器(如 Tomcat)異常關(guān)閉,它還可以殺死可能正在做一些重要事情的線程(除非你需要向命令行返回一個(gè)值,這意味著你需要一個(gè)系統(tǒng)。 exit() 但可能想讓它成為你的 main.exit 的最后一行。


查看完整回答
反對(duì) 回復(fù) 2023-02-23
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)