int res[] = new int[]{(num1< num2 ? num1, num2 : num2 , num1)};
我正在嘗試將兩個整數插入到一個陣列中!元素應該更小,第二個元素應該更大。arrays.sort() 不是個好主意!已知簡單的舊技術我需要一個像三元這樣的新解決方案!
在使用三元運算子檢查時如何插入兩個陣列?在將元素添加到陣列時,是否可以在 {} 中使用三元。編譯器明白我在做什么嗎?
在日食我得到:
此行有多個標記
- 標記“,”, 上的語法錯誤。預期的
- num1的原始型別int沒有欄位num2
- 標記“,”, 上的語法錯誤。預期的
uj5u.com熱心網友回復:
您可以執行以下任一操作:
int res[] = new int[]{Math.min(num1, num2), Math.max(num1, num2)};
或者
int res[] = num1 < num2 ? new int[]{num1, num2} : new int[]{num2, num1};
uj5u.com熱心網友回復:
像這樣嘗試
int res[] = new int[]{Math.min(num1, num2), Math.max(num1, num2)};
uj5u.com熱心網友回復:
條件運算式(三元)由一個條件和兩個子運算式組成(JLS 第 15.25 章)。
在 Java 中,片段num1, num2和num2, num1不是有效的運算式。逗號,是永遠只在Java中分離,不像例如C或JavaScript在逗號,也可以是運營商。
請注意,即使在逗號,可以充當運算子(C、C 、JavaScript)的語言中,您的代碼片段也不會獲得所需的結果(逗號運算子 (,) 的JavaScript 檔案,在 C 中效果相同):
逗號運算子 (,) 計算其每個運算元(從左到右)并回傳最后一個運算元的值。
因此,在 JavaScript 或 C 中使用類似您的實驗的東西會產生一個長度為 1 的陣列,其中包含兩個值中較大的一個。
uj5u.com熱心網友回復:
這也可以:
int[] res = new int[] {(a<b ? a : b), (a>b? a : b)};
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/394593.html
上一篇:如何從物件陣列中獲取屬性串列,除非它包含具有特定值的另一個專案?
下一篇:歸檔超過6個月的檔案
