亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

do while 循環內的 system.out.print() 不起作用

do while 循環內的 system.out.print() 不起作用

DIEA 2023-10-19 21:18:19
system.out.print中的字符串(問題)表示填寫一個數字。問題必須繼續下去,直到我填寫 0?,F在的問題是 do-while 循環內的 system.out.print 不起作用我的代碼:package com.company;import java.util.Scanner;public class WhileLoopNumbers {public static void main(String[] args) {    Scanner invoer = new Scanner(System.in);    final int STOP_TEKEN = 0;    int nummer = invoer.nextInt();    do {        System.out.print("Geef een getal: ");    }    while (nummer == STOP_TEKEN);}}
查看完整描述

4 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

嘗試以可讀的方式提供您的代碼,以便我們能夠給出有效的答案(英文)。當您的輸入為 0 時,您的循環應該結束,但現在您的代碼要求您輸入數字,直到您輸入除 0 之外的任何內容。


要更正代碼,請將 while 表達式更改為 != 0。此外,您還需要在循環內(而不是循環外)詢問用戶一個新數字。


import java.util.Scanner;


public class Main {


    public static void main(String[] args) {

        Scanner invoer = new Scanner(System.in);


        final int STOP_TEKEN = 0;

        int nummer = 0;

        do {

            System.out.print("Geef een getal: ");

            nummer = invoer.nextInt();

        }

        while (nummer != STOP_TEKEN);

    }

}


查看完整回答
反對 回復 2023-10-19
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

認真學習?。?!對于您的情況,可能會出現兩種情況。


首先,如果您的輸入不是0,則System.out.print()只會運行一次。因為,實際上do-while,里面的語句do將運行一次,之后條件將不匹配,因為數字不等于0,并且循環將中斷。


其次,如果你的輸入是0,則會導致無限循環,因為 while 內部的條件始終滿足。


解決方案:


您需要在每次迭代中減小 的值nummer。另外,將您的條件更改為而!=不是==。嘗試這樣:


public static void main(String[] args) {

    Scanner invoer = new Scanner(System.in);


    final int STOP_TEKEN = 0;


    int nummer = invoer.nextInt();


    do {

        System.out.print("Geef een getal: ");

        nummer--;

    }

    while (nummer != STOP_TEKEN);

}


查看完整回答
反對 回復 2023-10-19
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

嘗試在循環內的 print 語句之后為 nummer 變量分配值。像這樣:


    int nummer;

    do {

       System.out.print("Geef een getal: ");

       nummer = invoer.nextInt();

    }while (nummer == STOP_TEKEN);


查看完整回答
反對 回復 2023-10-19
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

public class WhileLoopNumbers {


    public static void main(String[] args) {

    Scanner invoer = new Scanner(System.in);


    final int STOP_TEKEN = 0;

    int nummer = invoer.nextInt();

    do {

        System.out.print("Geef een getal: ");

        // Assign stdin value to some variable

        nummer = invoer.nextInt();

    } while (nummer != STOP_TEKEN);// check the stdin value with your exit condition

  }

}


查看完整回答
反對 回復 2023-10-19
  • 4 回答
  • 0 關注
  • 215 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號