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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我如何擺脫這個用戶說是的無限循環(huán),然后回到第一個 while 循環(huán),直到用戶說不?

我如何擺脫這個用戶說是的無限循環(huán),然后回到第一個 while 循環(huán),直到用戶說不?

慕勒3428872 2023-03-09 13:57:57
我試圖提示用戶輸入一個數(shù)字,然后詢問他們是否要輸入另一個數(shù)字。如果是,則他們重新啟動第一個 while 循環(huán),如果不是,則他們退出以打印他們選擇的數(shù)字。但是似乎無論我做什么,我都無法擺脫第一個循環(huán)。它只是一遍又一遍地重復數(shù)字。我試著把 userInput = "y", break, and continue 放在 where valid= true; 的末尾 目前是,它們都產(chǎn)生相同的結(jié)果。陷入無限循環(huán)。ArrayList<Integer> inputs = new ArrayList<Integer>();System.out.println("Enter some numbers: ");   String userInput = "y";     boolean valid = false;    do {        while (scnr.hasNextInt()) {           inputs.add(scnr.nextInt());           System.out.println("Would you like to enter another?");           valid = true;           }           System.out.println(inputs);    } while (!userInput.equalsIgnoreCase("n"));
查看完整描述

2 回答

?
料青山看我應(yīng)如是

TA貢獻1772條經(jīng)驗 獲得超8個贊

問題是你沒有跳出內(nèi)循環(huán)。在這里我將如何編寫相同的代碼:


import java.util.ArrayList;

import java.util.Scanner;


public class ReadNumbers {

  public static void main(String[] args) {

    ArrayList<Integer> inputs = new ArrayList<Integer>();

    System.out.println("Enter some numbers: ");

    try (Scanner scnr = new Scanner(System.in)) {

      do {

        inputs.add(scnr.nextInt());

        System.out.println("Would you like to enter another y/n?");

      } while (scnr.next().equalsIgnoreCase("y"));

    }

    System.out.println(inputs);

  }

}

這會產(chǎn)生以下輸出:


Enter some numbers: 

14

Would you like to enter another y/n?

y

15

Would you like to enter another y/n?

y

17

Would you like to enter another y/n?

y

44

Would you like to enter another y/n?

n

[14, 15, 17, 44]

讀取數(shù)字的另一種方法是從空格分隔的行中讀取幾個:


查看完整回答
反對 回復 2023-03-09
?
慕姐4208626

TA貢獻1852條經(jīng)驗 獲得超7個贊

我認為你把這個復雜化了。您只需要一個循環(huán),該循環(huán)一直運行到用戶輸入“n”為止。


在此之前,要求用戶輸入一個數(shù)字,讀入,然后詢問他們是否要繼續(xù)。適當?shù)馗卵h(huán)條件,你就完成了:


public static void main(String... args) {

    ArrayList<Integer> inputs = new ArrayList<Integer>();

    try (Scanner scnr = new Scanner(System.in)) {

        boolean valid = true;

        while (valid) {

            System.out.println("Enter some numbers: ");

            if (scnr.hasNextInt()) {

                inputs.add(scnr.nextInt());

            }

            System.out.println("Would you like to enter another?");

            String response = scnr.next();

            valid = response.trim().equalsIgnoreCase("y");

        }

    }

    System.out.println(inputs);

}

產(chǎn)生輸出


Enter some numbers: 

1

Would you like to enter another?

y

Enter some numbers: 

2

Would you like to enter another?

y

Enter some numbers: 

3

Would you like to enter another?

n

[1, 2, 3]


查看完整回答
反對 回復 2023-03-09
  • 2 回答
  • 0 關(guān)注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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