我正在嘗試使用超級構(gòu)造函數(shù)和三元運算符將以下代碼轉(zhuǎn)換為一行代碼。嘗試了多種方法,但沒有任何效果。if (c == 0) { super(Piece.JMAN, x, y, Color.red);} else if (c == 1) { super(Piece.JMAN, x, y, Color.green);} else { super(Piece.JMAN, x, y, Color.yellow);}
1 回答

慕俠2389804
TA貢獻1719條經(jīng)驗 獲得超6個贊
正如@jacobg 在評論中所寫,您可以這樣做
super(Piece.JMAN, x, y, c == 0 ? Color.red : c == 1 ? Color.green : Color.yellow)
出于可讀性的目的,您可能希望將其拆分為兩個帶有括號的語句。
Color color = (c == 0 ? Color.red : (c == 1 ? Color.green : Color.yellow)); super(Piece.JMAN, x, y, color);
添加回答
舉報
0/150
提交
取消