使用 向数组添加元素? :
Posted
技术标签:
【中文标题】使用 向数组添加元素? :【英文标题】:add elemets to array using ? : 使用 向数组添加元素? : 【发布时间】:2022-01-20 03:20:54 【问题描述】: int res[] = new int[](num1< num2 ? num1, num2 : num2 , num1);
我正在尝试将两个整数插入一个数组! 元素应该更小,第二个元素应该更大。 arrays.sort() 不是好主意!; 已知简单的旧技术我需要像三元这样的新解决方案!
如何在使用三元运算符进行检查时插入两个数组? 这是否可以在 中使用三元同时将元素添加到数组中。编译器能理解我想要做什么吗?
在日食中我得到:
这一行有多个标记
标记“,”的语法错误。预计 num1 的原始类型 int 没有字段 num2 标记“,”的语法错误。预计【问题讨论】:
BTWArrays.sort()
可能与 Java 1.2 一样古老(not Java 12) - 数组初始化器可能是相同的年龄(更常见的是写 int[] res
int res[]
在 Java 中)-我想知道 Math.min
和 Math.max
是否也被认为是现代的解决这个问题
【参考方案1】:
您可以执行以下任一操作:
int res[] = new int[]Math.min(num1, num2), Math.max(num1, num2);
或
int res[] = num1 < num2 ? new int[]num1, num2 : new int[]num2, num1;
【讨论】:
【参考方案2】:这样试试
int res[] = new int[]Math.min(num1, num2), Math.max(num1, num2);
【讨论】:
【参考方案3】:条件表达式(三元)由一个条件和两个子表达式 (JLS Chapter 15.25) 组成。
在 Java 中,片段 num1, num2
和 num2, num1
不是有效的表达式。逗号,
在Java 中只是一个分隔符,不像C
或javascript
,其中逗号,
也可以是一个运算符。
请注意,即使在逗号 ,
可以充当运算符(C、C++、JavaScript)的语言中,您的代码片段也不会产生预期的结果(Comma operator (,) 的 JavaScript 文档,在 C 中效果是相同的):
逗号运算符 (,) 计算其每个操作数(从左到右)并返回最后一个操作数的值。
因此,在 JavaScript 或 C 中使用类似于您的实验的东西会产生一个长度为 1 的数组,其中包含两个值中较大的一个。
【讨论】:
【参考方案4】:这也可以:
int[] res = new int[] (a<b ? a : b), (a>b? a : b);
【讨论】:
以上是关于使用 向数组添加元素? :的主要内容,如果未能解决你的问题,请参考以下文章