-1
我有一些問題,我的代碼.. C# 如果我運行它停靠在第一個if語句...如果else語句首先停止IF
嘗試和尋找一些答案,但diden 「找不到任何工作
private void Bereken_Click(object sender, EventArgs e)
{
// Afmetingen van het het blok
var PL = int.Parse(EigenML.Text);
var PB = int.Parse(EigenMB.Text);
var PH = int.Parse(EigenMH.Text);
// Afmetingen van het stuk
var L = int.Parse(StukML.Text);
var B = int.Parse(StukMB.Text);
var H = int.Parse(StukMH.Text);
LabelEigenML.Text = PL.ToString();
LabelEigenMB.Text = PB.ToString();
LabelEigenMH.Text = PH.ToString();
var L1 = PL/L;
var B1 = PB/B;
var H1 = PH/H;
var T1 = L1 * B1 * H1;
var L2 = PL/L;
var B2 = PB/B;
var H2 = PH/H;
var T2 = L2 * B2 * H2;
var L3 = PL/L;
var B3 = PB/B;
var H3 = PH/H;
var T3 = L3 * B3 * H3;
var L4 = PL/L;
var B4 = PB/B;
var H4 = PH/H;
var T4 = L4 * B4 * H4;
var L5 = PL/L;
var B5 = PB/B;
var H5 = PH/H;
var T5 = L5 * B5 * H5;
var L6 = PL/L;
var B6 = PB/B;
var H6 = PH/H;
var T6 = L6 * B6 * H6;
if (T1 >= T2 && T1 >= T3 && T1 >= T4 && T1 >= T5 && T1 >= T6) {
LabelStukML.Text = "Lengte" + L.ToString();
LabelStukMB.Text = "Breedte" + B.ToString();
LabelStukMH.Text = "Hoogte" + H.ToString();
labelTotaal.Text = T1.ToString();
Console.WriteLine("Should be 1");
} else if (T2 >= T1 && T2 >= T3 && T2 >= T4 && T2 >= T5 && T2 >= T6)
{
LabelStukML.Text = "Lengte" + L.ToString();
LabelStukMB.Text = "Hoogte" + H.ToString();
LabelStukMH.Text = "Breedte" + B.ToString();
labelTotaal.Text = T2.ToString();
Console.WriteLine("Should be 2");
} else if (T3 >= T1 && T3 >= T2 && T3 >= T4 && T3 >= T5 && T3 >= T6)
{
LabelStukML.Text = "Breedte" + B.ToString();
LabelStukMB.Text = "Lengte" + L.ToString();
LabelStukMH.Text = "Hoogte" + H.ToString();
labelTotaal.Text = T3.ToString();
Console.WriteLine("Should be 3");
}
else if (T4 >= T1 && T4 >= T2 && T4 >= T3 && T4 >= T5 && T4 >= T6)
{
LabelStukML.Text = "Breedte" + B.ToString();
LabelStukMB.Text = "Hoogte" + H.ToString();
LabelStukMH.Text = "Lengte" + L.ToString();
labelTotaal.Text = T4.ToString();
Console.WriteLine("Should be 4");
}
else if (T5 >= T1 && T5 >= T2 && T5 >= T3 && T5 >= T4 && T5 >= T6)
{
LabelStukML.Text = "Hoogte" + H.ToString();
LabelStukMB.Text = "Breedte" + B.ToString();
LabelStukMH.Text = "Lengte" + L.ToString();
labelTotaal.Text = T5.ToString();
Console.WriteLine("Should be 5");
}
else if (T6 >= T1 && T6 >= T2 && T6 >= T3 && T6 >= T4 && T6 >= T5)
{
LabelStukML.Text = "Hoogte" + H.ToString();
LabelStukMB.Text = "Lengte" + L.ToString();
LabelStukMH.Text = "Breedte" + B.ToString();
labelTotaal.Text = T6.ToString();
Console.WriteLine("Should be 6");
}
else
{
LabelStukML.Text = "Error";
LabelStukMB.Text = "Error" ;
LabelStukMH.Text = "Error";
labelTotaal.Text = "Error";
Console.WriteLine("Should be 6");
}
}
}
}
它應該計算sometings,那麼它看起來什麼是最大的,並按照特定的順序打印那些東西,但我總是得到我的第一個IF的輸出聲明
通過它,你會看到你的本地人的價值。如果if中的第一個塊被執行,那將是因爲第一個表達式的計算結果爲true。 –
我可能是錯的,但是看起來好像T1,T2 ... T6總是等於(L [n],B [n],H [n]用相同的值和相同的算法計算) –
@MatteoUmili看起來很像我。乘法的所有部分都以與每個「TX」相同的方式計算。 –