我創建了一個腳本,根據所選選項顯示結果。代替Android的「if else」邏輯的替代編碼
我需要:A,B,C,d(0,1,-1)
int A = 0;
int B = 0;
int C = 0;
int D = 0;
Ansver將16組合中的一個。
if A = 1 = A1;
if A = -1 = A2;
if B = 1 = B1;
if B = -1 B2;
if C = 1 = C1;
If C = -1 = C2;
If D = 1 = D1;
if D = -1 = D1;
A1;B1;C1;D1 = Nr1
A1;B1;C1;D2 = Nr2
A1;B1;C2;D1 = Nr3
A1;B1;C2;D2 = Nr4
A1;B2;C1;D1 = Nr5
A1;B2;C1;D2 = Nr6
A1;B2;C2;D1 = Nr7
A1;B2;C2;D2 = Nr8
A2;B1;C1;D1 = Nr9
A2;B1;C1;D2 = Nr10
A2;B1;C2;D1 = Nr11
A2;B1;C2;D2 = Nr12
A2;B2;C1;D1 = Nr13
A2;B2;C1;D2 = Nr14
A2;B2;C2;D1 = Nr15
A2;B2;C2;D2 = Nr16
我想顯示潛在的變體。
當你按下的組合:A1, B1 = "Nr1,Nr2,Nr3,Nr4"
當你按下的組合:A1, D1 = "Nr1,Nr3,Nr5,Nr7"
以後會更多的變數E
,F
,G
,H
....等等。但問題的答案將僅16
可能是什麼邏輯,我有點卡住了?
If/Else
似乎太長。
if (A == 1) {
if (B == 1) {
if (C == 1) {
if (D == 1) {
scoreTeamA = "Nr1"; //A1,B1,C1,D1
} else if (D == -1) {
scoreTeamA = "Nr2"; //A1,B1,C1,D2
} else scoreTeamA = "Nr1, Nr2"; //A1,B1,C1
} else if (B == 1) {
if (D == 1) {
scoreTeamA = "Nr3"; //A1,B1,C1,D1
} else if (D == -1) {
scoreTeamA = "Nr4"; //A1,B1,C1,D2
} else scoreTeamA = "Nr3,Nr4"; //A1,B1,C2
} else scoreTeamA = "Nr1,Nr2,Nr3,Nr4"; //A1,B1
} else if (B == -1) {
scoreTeamA = "Nr5,Nr6,Nr7,Nr8";//A1,B2
} else
scoreTeamA = "Nr1,Nr2,Nr3,Nr4,Nr5,Nr6,Nr7,Nr8"; //A1
} else if (A == -1) {
scoreTeamA = "Nr9,Nr10,Nr11,Nr12,Nr13,Nr14,Nr15,Nr16"; //A2
}
邏輯取決於你,你希望你的代碼如何。 –