直接判斷是否符合要求,不符合要求的說(shuō)明那里不符合要求,符合要求的進(jìn)行計(jì)算,避免造成閃退情況
public static string[] K板核心算法(string K_編碼, string K_數(shù)量)
{
//300K1500(忠旺體系的編碼)
//定義型材信息
string[] 計(jì)算結(jié)果 = new string[6];//結(jié)果
string[] 錯(cuò)誤結(jié)果 = new string[1];//結(jié)果
String[] K_無(wú)字母參數(shù);
String[] K_無(wú)數(shù)字參數(shù);
//判斷編碼和數(shù)量是否為空
if (K_編碼 != "" && K_數(shù)量 != "")
{
//去除編碼中的符號(hào)和字母
K_無(wú)字母參數(shù) = K_編碼.Split(new char[] { '-', 'P', 'J', 'Q', 'C', 'D', 'K', 'L', '/', '(', ')', 'A', 'B', 'E', 'F', 'G', 'H', 'I', 'J', 'M', 'N', 'O', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }, StringSplitOptions.RemoveEmptyEntries);
//去除編碼中的數(shù)字
K_無(wú)數(shù)字參數(shù) = K_編碼.Split(new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.' }, StringSplitOptions.RemoveEmptyEntries);
//去除編碼中的空格,然后轉(zhuǎn)化為string類型
String LG_字符串 = String.Join("", K_無(wú)數(shù)字參數(shù));
switch (LG_字符串)
{
case "K":
if (K_無(wú)字母參數(shù).Length == 2 && float.Parse(K_無(wú)字母參數(shù)[0]) != 0 && float.Parse(K_無(wú)字母參數(shù)[1]) != 0)
{
if (float.Parse(K_無(wú)字母參數(shù)[0]) >= 150 && float.Parse(K_無(wú)字母參數(shù)[1]) >= 100)
{
計(jì)算結(jié)果[0] = "主型材: " + K_無(wú)字母參數(shù)[0] + "型材,長(zhǎng)度:" + K_無(wú)字母參數(shù)[1];
計(jì)算結(jié)果[1] = "主型材數(shù)量: " + K_數(shù)量;
計(jì)算結(jié)果[2] = "封板: 60.5*" + (float.Parse(K_無(wú)字母參數(shù)[0]) - 16);//固定型材
計(jì)算結(jié)果[3] = "封板數(shù)量: " + int.Parse(K_數(shù)量) * 2;
if (float.Parse(K_無(wú)字母參數(shù)[1]) > 700)
{
計(jì)算結(jié)果[4] = "加筋長(zhǎng)度: " + (float.Parse(K_無(wú)字母參數(shù)[0]) - 16) + "共1件";
}
else
{
計(jì)算結(jié)果[4] = "加筋: 無(wú)";
}
計(jì)算結(jié)果[5] = "模板信息: 正常K板";
return 計(jì)算結(jié)果;
}
else
{
錯(cuò)誤結(jié)果[0] = "錯(cuò)誤: 參數(shù)錯(cuò)誤!";
return 錯(cuò)誤結(jié)果;
}
}
else
{
錯(cuò)誤結(jié)果[0] = "錯(cuò)誤: 編碼都不寫(xiě)完整,算你大爺!";
return 錯(cuò)誤結(jié)果;
}
default:
錯(cuò)誤結(jié)果[0] = "錯(cuò)誤: 無(wú)效編碼,請(qǐng)檢查";
return 錯(cuò)誤結(jié)果;
}
}
else
{
if (K_編碼 == "" && K_數(shù)量 == "")
{
錯(cuò)誤結(jié)果[0] = "錯(cuò)誤: 編碼數(shù)量都沒(méi)有我算你妹?";
}
else if (K_編碼 == "")
{
錯(cuò)誤結(jié)果[0] = "錯(cuò)誤: 編碼沒(méi)有怎么算?";
}
else if (K_數(shù)量 == "")
{
錯(cuò)誤結(jié)果[0] = "錯(cuò)誤: 數(shù)量沒(méi)填我特么怎么算?";
}
return 錯(cuò)誤結(jié)果;
}
}
結(jié)果:
模擬了清單可能造成的各種錯(cuò)誤,都能識(shí)別出來(lái)

image.png
下一篇: 轉(zhuǎn)角C槽算法,未完待續(xù).........