使用 向数组添加元素? :

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 标记“,”的语法错误。预计

【问题讨论】:

BTW Arrays.sort() 可能与 Java 1.2 一样古老(not Java 12) - 数组初始化器可能是相同的年龄(更常见的是写 int[] res int res[] 在 Java 中)-我想知道 Math.minMath.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, num2num2, num1 不是有效的表达式。逗号, 在Java 中只是一个分隔符,不像Cjavascript,其中逗号, 也可以是一个运算符。

请注意,即使在逗号 , 可以充当运算符(C、C++、JavaScript)的语言中,您的代码片段也不会产生预期的结果(Comma operator (,) 的 JavaScript 文档,在 C 中效果是相同的):

逗号运算符 (,) 计算其每个操作数(从左到右)并返回最后一个操作数的值。

因此,在 JavaScript 或 C 中使用类似于您的实验的东西会产生一个长度为 1 的数组,其中包含两个值中较大的一个。

【讨论】:

【参考方案4】:

这也可以:

int[] res = new int[] (a<b ? a : b), (a>b? a : b);

【讨论】:

以上是关于使用 向数组添加元素? :的主要内容,如果未能解决你的问题,请参考以下文章

jquery怎样向数组里添加一个元素?还有...

向数组中添加含有下标的元素

使用 jq 向现有 JSON 数组添加新元素

Java 向数组中添加一个元素

如何向数组里添加元素

c# 数组 插入元素在数组的最前面 数组中原来的值依次向后排列