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

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

“使用未分配的局部變量”是什么意思?

“使用未分配的局部變量”是什么意思?

九州編程 2019-07-12 15:27:36
“使用未分配的局部變量”是什么意思?我的年率、月費和遲交都會出現(xiàn)這個錯誤。using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Lab_5___Danny_Curro{     class Program     {         static void Main(string[] args)         {             string firstName;             string lastName;             int accNumber;             string creditPlan;             double balance;             string status;             Boolean late = false;             double lateFee;             double monthlyCharge;             double annualRate;             double netBalance;             Console.Write("Enter First Name: ");             firstName = Console.ReadLine();             Console.Write("Enter Last Name: ");             lastName = Console.ReadLine();             Console.Write("Enter Account Number: ");             accNumber = Convert.ToInt32(Console.ReadLine());             Console.Write("Enter Credit Card Plan Number[Blank Will Enter Plan 0]: ");             creditPlan = Console.ReadLine();             Console.Write("Enter Balance: ");             balance = Convert.ToDouble(Console.ReadLine());             Console.Write("Is This Account Late?: ");             status = Console.ReadLine().Trim().ToLower();             if (creditPlan == "0")             {                 annualRate = 0.35;  //35%                 lateFee = 0.0;                 monthlyCharge = balance * (annualRate * (1 / 12));                 return;             }             if (creditPlan == "1")             {                 annualRate = 0.30;  //30%                 if (status == "y")                 {                     late = true;                 }                 else if (status == "n")                 {                     late = false;                 }                 if (late == true)                 {                     lateFee = 25.00;                 }                 monthlyCharge = balance * (annualRate * (1 / 12));                 return;             }         }     }}
查看完整描述

3 回答

?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗 獲得超6個贊


編譯器不夠聰明,不知道至少有一個if塊將被執(zhí)行。因此,它看不到這樣的變量annualRate無論如何都會被分配。下面是如何讓編譯器理解的方法:


if (creditPlan == "0")

{

    // ...

}

else if (creditPlan == "1")

{

    // ...

}

else if (creditPlan == "2")

{

    // ...

}

else

{

    // ...

}

編譯器知道,如果使用if/etc塊,將保證執(zhí)行其中一個塊,因此,如果要在所有塊中分配變量,則不會給編譯器帶來錯誤。


順便說一句,您也可以使用switch語句而不是if也許是為了讓你的代碼更簡潔。


查看完整回答
反對 回復(fù) 2019-07-12
?
汪汪一只貓

TA貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊

將聲明更改為:

double lateFee = 0.0;double monthlyCharge = 0.0;double annualRate = 0.0;

導(dǎo)致此錯誤的原因是,在代碼中至少有一條路徑,其中這些變量最終不會被設(shè)置為任何內(nèi)容。


查看完整回答
反對 回復(fù) 2019-07-12
?
子衿沉夜

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊

因為如果if語句中沒有一個計算為true,則局部變量將被取消賦值。在其中拋出一個OSE語句,并為這些變量分配一些值,以防if語句的計算結(jié)果不為true。如果這不能使錯誤消失的話,請在這里發(fā)帖。

另一個選項是在代碼開始時聲明變量時,將變量初始化為某些默認(rèn)值。


查看完整回答
反對 回復(fù) 2019-07-12
  • 3 回答
  • 0 關(guān)注
  • 736 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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