有一个已经排好升序的数组。从键盘输入一个数,若数组中存在此数,将其删除,用Java编程,如果不存在,提示“该数不存在于数组中”。。
时间: 2023-05-12 09:02:57 浏览: 64
可以使用二分查找算法来查找数组中是否存在输入的数,如果存在则删除,否则提示不存在。
以下是Java代码示例:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数:");
int num = scanner.nextInt();
int index = Arrays.binarySearch(arr, num);
if (index >= 0) {
// 数组中存在该数,删除
int[] newArr = new int[arr.length - 1];
System.arraycopy(arr, 0, newArr, 0, index);
System.arraycopy(arr, index + 1, newArr, index, arr.length - index - 1);
arr = newArr;
System.out.println("删除成功,删除后的数组为:" + Arrays.toString(arr));
} else {
// 数组中不存在该数
System.out.println("该数不存在于数组中");
}
}
}
```
输入示例:
```
请输入一个数:5
```
输出示例:
```
删除成功,删除后的数组为:[1, 2, 3, 4, 6, 7, 8, 9]
```
阅读全文