C# 裡有兩種不同的數字:
-6、0、1、25、976 和 500000。-2.4、0.1、3.14、16.984025 和 1024.0。C# 中最常見的兩種數值型別是 int 和 double。int 是 32 位元的整數,double 則是 64 位元的浮點數。
算術運算使用標準的算術運算子來完成。數字可以用標準的數值比較運算子,以及相等(==)與不相等(!=)運算子來比較。
C# 有兩種數值轉換:
由於 int 的精確度比 double 低,從 int 轉換成 double 是安全的,因此屬於隱式轉換。不過,從 double 轉換成 int 可能會遺失資料,所以需要顯式轉換。
int softCool = 1358938113;
double notLost = 4.8151623;
// implicit cast: no loss of information
double macDebug = softCool; // 1358938113.0
// explicit cast: possible loss of information
int somethingLost = (int)notLost; // 4
if 敘述在這個練習中,你必須依條件執行邏輯。在 C# 裡,最常見的做法是使用 if/else 敘述:
int x = 6;
if (x == 5)
{
// Execute logic if x equals 5
}
else if (x > 7)
{
// Execute logic if x greater than 7
}
else
{
// Execute logic in all other cases
}
if 敘述的條件必須是 bool 型別。C# 沒有 truthy 值的概念。
在這道練習中,你會撰寫程式碼來分析汽車工廠裡一條組裝線的產量。
組裝線的速度範圍從0(關閉)到10(最高)。
在最低速度(1)下,每小時會生產221輛車。
產量會隨速度呈線性增加。
因此當速度設為4時,每小時應該會生產4 * 221 = 884輛車。
不過,速度越高,就越可能生產出有瑕疵的車,這些車之後必須被丟棄。
你有三個任務。
實作(static)AssemblyLine.SuccessRate()方法,計算每件產品在指定速度下順利完成而不出錯的比例。
下表顯示速度如何影響成功率:
0:成功率 0%。1到4:成功率 100%。5到8:成功率 90%。9:成功率 80%。10:成功率 77%。AssemblyLine.SuccessRate(10)
// => 0.77
實作(static)AssemblyLine.ProductionRatePerHour()方法,計算組裝線每小時的產量,並將成功率納入考量:
AssemblyLine.ProductionRatePerHour(6)
// => 1193.4
請注意,回傳的值是double。
實作(static)AssemblyLine.WorkingItemsPerMinute()方法,計算每分鐘能生產出多少可用車輛:
AssemblyLine.WorkingItemsPerMinute(6)
// => 19
請注意,回傳的值是int。