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

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

Java:使用字符串來停止 while 循環,并由以下掃描儀輸入消耗

Java:使用字符串來停止 while 循環,并由以下掃描儀輸入消耗

慕的地6264312 2021-10-27 16:36:05
我正在學習以 Java 為語言的介紹性編程課程。我們正在處理的任務正在困擾著我。我有一個while循環要求輸入數值,當輸入字符串值時終止,即while (sc.hasNextDouble()){...}接下來是另一個掃描儀輸入,它使用if (sc.hasNextLine())問題是我使用一個字符串來終止頂部的while循環,然后掃描儀立即使用它。我嘗試對帶有顯式中斷的頂部循環使用 if/else 語句;聲明,但這不起作用。無論我做什么,它仍然在傳遞。我應該如何處理這個問題?任何指針表示贊賞。編輯:根據要求,這里是一些實際的代碼。請記住,這是針對任意類分配的,因此可能沒有多大意義。 //Request user input        System.out.print("Please enter multiple double values. Enter q or any non double value to quit.");        double doubleValue = 0.00; //declare doubleValue variable (for each entered double value)        double sum = 0.00; //declare starting sum value variable at 0.00        double doubleAverage = 0.00; //declare average of doubles variable        //declare largest double value variable as MIN_VALUE to ensure any entered value is larger        double largestDouble = Double.MIN_VALUE;        //declare smallest double value variable as MAX_VALUE to ensure any entered value is smaller        double smallestDouble = Double.MAX_VALUE; //declare smallest double value variable        int count = 0; //set starting count        while (sc.hasNextDouble())        {          doubleValue = sc.nextDouble();          //System.out.print("Please enter another double value. Enter -1 to stop entering values.");          sum = sum + doubleValue;          count++;          }        /*        * This section prompts the user for their first name and printd it in reverse.        */        System.out.print("Please enter your first name:");        String fName = ""; //declare fName variable before requesting input        if (sc.hasNext())        {          fName = sc.next();…在此之后,字符串值用于終止我最后用于 if 語句的 while 循環。
查看完整描述

3 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

我的講師提供的另一個有效選項是使用虛擬變量來使用 Scanner 輸入,例如:

String fName = sc.next(); // Consume the Q or q here.


查看完整回答
反對 回復 2021-10-27
?
慕娘9325324

TA貢獻1783條經驗 獲得超5個贊

不從sc掃描儀傳遞數據的一種方法是創建一個新的掃描儀對象。讓我們稱之為一個scan。這樣,當您引用scan它時,將不知道sc之前輸入的掃描儀。

在您的if陳述中,您會提到scan掃描儀而不是sc掃描儀。

數據從while循環傳遞到您的if語句的原因是因為它們都引用了同一個對象,并且在您調用sc.hasNext()它時讀取了您輸入到控制臺的最后一個內容。


查看完整回答
反對 回復 2021-10-27
  • 3 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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