用java写在一个数组中找出并输出一个在数组中只出现过一次的数
时间: 2023-04-10 20:00:49 浏览: 105
好的,这是一个技术问题,我可以回答。可以使用HashMap来统计每个数字出现的次数,然后再遍历一遍数组,找到只出现过一次的数字并输出。以下是Java代码示例:
```
public static void findUnique(int[] nums) {
Map<Integer, Integer> map = new HashMap<>();
for (int num : nums) {
map.put(num, map.getOrDefault(num, 0) + 1);
}
for (int num : nums) {
if (map.get(num) == 1) {
System.out.println(num);
break;
}
}
}
```
相关问题
java找出一个数组中相同的数
要找出一个数组中相同的数,可以使用Java编写以下代码:
```java
public class FindDuplicates {
public static void main(String[] args) {
int[] array = { 1, 2, 3, 4, 5, 2, 4, 6, 7, 8, 9, 1, 5 };
findDuplicates(array);
}
public static void findDuplicates(int[] array) {
System.out.print("数组中的重复数为:");
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] == array[j]) {
System.out.print(array[j] + " ");
}
}
}
}
}
```
上述代码中,首先在`main`方法中定义了一个整数数组`array`,包含一些数值。然后调用`findDuplicates`方法,并将`array`数组作为参数传递给它。
`findDuplicates`方法使用两个嵌套的`for`循环,遍历数组中的每个元素。内部循环从外部循环的下一个元素开始,对比两个元素的值。如果它们相等,就表示找到了一个重复的数,将其输出。
最后,程序会输出数组中的重复数。对于上述代码,输出结果为`2 4 1 5`,这些都是数组中重复的数字。
在一个数组中找出比指定数大,比数组中其他数小的数
好的,假设给定一个整型数组 `arr` 和一个指定的整数 `num`,您可以按照以下步骤进行查找:
1. 初始化一个变量 `max`,用来记录数组中的最大值,初始值应该为数组中的第一个数。
2. 遍历整个数组,如果当前数比 `max` 大,就更新 `max` 的值。
3. 再次遍历整个数组,找到第一个比 `num` 大的数,并记录它在数组中的下标。
4. 再次遍历整个数组,如果当前数比 `num` 小,并且比数组中其他数都大,就输出这个数。
下面是对应的 Java 代码实现:
```java
public static void findTargetNumber(int[] arr, int num) {
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
int targetIndex = -1;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > num) {
targetIndex = i;
break;
}
}
if (targetIndex == -1) {
System.out.println("不存在比指定数大的数!");
return;
}
for (int i = 0; i < arr.length; i++) {
if (arr[i] < max && arr[i] > num) {
System.out.print(arr[i] + " ");
}
}
}
```
以上代码中,函数 `findTargetNumber` 接收两个参数,分别是整型数组 `arr` 和指定整数 `num`。函数首先找到数组中的最大值,并记录第一个比 `num` 大的数的下标。如果不存在比 `num` 大的数,就输出提示信息。接下来遍历整个数组,输出所有比 `num` 大、比数组中其他数都小的数。