宣告變數前考慮最大值

2021-10-08 06:39:07 字數 654 閱讀 4722

考慮有以下涉及工資運算的**:

ushort salary = 65534;

salary = (ushort)(salary + 1);

console.writeline(string.format("第一次工資總數:", salary));

salary = (ushort)(salary + 1);

console.writeline(string.format("第二次工資總數:", salary));

/*輸出:第一次工資總數:65535

* 第一次工資總數:0

*/

由於採用了ushort型別,導致第二次累加得出結果0,這個顯然不是我們想要的。這就是我們在選擇變數的資料型別是要考慮的:資料的範圍,最大值是否溢位。

補救措施:

checked

", salary));

salary = (ushort)(salary + 1);

console.writeline(string.format("第二次工資總數:", salary));}/*

系統丟擲異常:system.overflowexception (算術運算導致溢位)

*/

這樣就可以終止程式執行,提示開發者就行修改。

建議113 宣告變數前考慮最大值

建議113 宣告變數前考慮最大值 假設正在開發乙個工資系統,其中乙個模組負責處理加薪。如下 static void main string args salary salary ushort salary 1 console.writeline string.format 第二次加薪,工資總數 sa...

int 最大值 239 滑動視窗最大值

給定乙個陣列 nums,有乙個大小為 k 的滑動視窗從陣列的最左側移動到陣列的最右側。你只可以看到在滑動視窗內的 k 個數字。滑動視窗每次只向右移動一位。返回滑動視窗中的最大值。示例 輸入 nums 1,3,1,3,5,3,6,7 和 k 3 輸出 3,3,5,5,6,7 解釋 滑動視窗的位置 最大...

動態求前n個最小值 最大值

注 由於最小值和最大值的分析過程完全相同,這裡我們只討論最小值的分析流程,最大值同理 每次給定乙個數值,詢問此數值以及之前給定數值中最小的n個數 例如給定數值的順序為 8 7 1 2 9 4,設n 3 乙個最直觀的方法是,每次新增新的資料後,將當前所有資料進行排序,選擇較小的n個 一次排序最快也要 ...