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

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

為什么我的代碼在 if 語句中多次輸出字符串?

為什么我的代碼在 if 語句中多次輸出字符串?

C#
慕容3067478 2023-07-09 16:33:21
我的代碼多次輸出相同的字符串。例如,輸入 40 會導(dǎo)致“不!您的答案太高。請重試?!?兩次,并且顯示兩次“您的答案太低”。while (numberguess != 40.5){    numberguess = Console.Read();    if (numberguess < 40.5)    {        Console.WriteLine("Nope! Your answer is too low. Try again.");    }    else if (numberguess > 40.5)    {        Console.WriteLine("Nope! Your answer is too high. Try again.");    }    else if (numberguess == 40.5)    {        Console.WriteLine("Correct! Wow, I didn't really think you would figure it out!");        break;    }}我希望在輸入數(shù)字時只顯示一個字符串,并且我希望它能夠?qū)?yīng)于它是低于還是高于特定數(shù)字。
查看完整描述

2 回答

?
慕標5832272

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

這條線有幾個問題:

numberguess = Console.Read();

首先,它返回一個 int,因此它永遠不會返回 40.5。此外,它一次讀取一個字符,包括通過 Enter 鍵輸入的字符,因此當您鍵入 40 并按 Enter 時,它會讀取“4”,然后是“0”,然后是“\r”,最后是“\n”(將這些字符轉(zhuǎn)換為字符到整數(shù))。這就是它顯示四條消息的原因。

相反,您必須讀取在 Enter 之前鍵入的所有內(nèi)容Console.ReadLine(),然后將其(字符串)轉(zhuǎn)換為雙精度型。所以最后你必須這樣做:

numberguess = double.Parse(Console.ReadLine());


查看完整回答
反對 回復(fù) 2023-07-09
?
蕭十郎

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

Console.Read() 將單個字符讀取為 int。如果您試圖獲取用戶在按 Enter 鍵之前輸入的內(nèi)容,請讀取當前行,然后從中解析一個整數(shù)。

int.Parse(Console.ReadLine());


查看完整回答
反對 回復(fù) 2023-07-09
  • 2 回答
  • 0 關(guān)注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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