如何用Java取一个数组的任意的两个不同的数
时间: 2023-06-24 07:07:11 浏览: 139
可以使用Java的随机数函数来实现取数组中的任意两个不同的数。
具体步骤如下:
1. 随机生成数组下标i和j,保证i和j不相等。
2. 通过数组下标i和j获取数组中对应的元素值。
下面是示例代码实现:
```java
import java.util.Random;
public class RandomArray {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
Random random = new Random();
int i = random.nextInt(arr.length);
int j = random.nextInt(arr.length - 1);
if (j >= i) {
j++;
}
int num1 = arr[i];
int num2 = arr[j];
System.out.println("num1=" + num1 + ", num2=" + num2);
}
}
```
这里使用了Java的Random类生成随机数来实现。注意,为了确保取到的两个数不相等,需要对生成的下标进行判断和修正。
相关问题
用Java 创建一个数组 arr1,包含元素 [1, 2, 3]。创建一个数组 arr2,包含元素 [4, 5, 6]。定义一个函数 sum对两个数组进行求和,该函数接收任意数量的数字参数,并返回它们的总和。
在Java中,你可以使用泛型和可变参数来创建一个可以处理任意数量整数数组的求和函数。这里是一个简单的示例:
```java
public class Main {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
System.out.println(sum(arr1, arr2)); // 输出:15 (1+2+3+4+5+6)
}
public static int sum(int... numbers) {
int total = 0;
for (int num : numbers) {
total += num;
}
return total;
}
}
```
在这个例子中,`sum`函数接受一个可变参数列表`numbers`,这个列表实际上是`int`类型的数组。通过`for-each`循环遍历所有传入的整数,将它们累加到`total`变量上。
java实现 你有一个含有n个不重复数的数组,现在输出新数组,使得新数组中任意两个数字不差9
```
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
List<Integer> result = new ArrayList<>();
boolean[] visited = new boolean[n];
dfs(nums, visited, result);
for (int i = 0; i < result.size(); i++) {
System.out.print(result.get(i) + " ");
}
}
public static void dfs(int[] nums, boolean[] visited, List<Integer> result) {
if (result.size() == nums.length) {
return;
}
for (int i = 0; i < nums.length; i++) {
if (!visited[i]) {
if (result.isEmpty() || Math.abs(nums[i] - result.get(result.size() - 1)) != 9) {
visited[i] = true;
result.add(nums[i]);
dfs(nums, visited, result);
visited[i] = false;
result.remove(result.size() - 1);
}
}
}
}
}
```
阅读全文