Java:数组中有5个元素,请删除最后一个并打印
时间: 2024-03-26 21:37:59 浏览: 64
好的,您可以使用以下代码来实现:
```java
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int[] newArr = new int[arr.length - 1];
for (int i = 0; i < newArr.length; i++) {
newArr[i] = arr[i];
}
int lastElement = arr[arr.length - 1];
arr = newArr;
System.out.println("删除最后一个元素" + lastElement + "后的数组为:" + Arrays.toString(arr));
}
```
运行结果为:
```
删除最后一个元素5后的数组为:[1, 2, 3, 4]
```
解释如下:
1. 首先定义了一个包含5个元素的数组 `arr`。
2. 然后定义了一个新的长度为4的数组 `newArr`,用于存储删除最后一个元素后的数组内容。
3. 遍历 `arr` 数组,将前4个元素复制到新数组 `newArr` 中。
4. 获取 `arr` 数组中的最后一个元素,并将其打印出来。
5. 将 `arr` 数组指向新的数组 `newArr`。
6. 最后将删除的元素和新的数组打印出来。
相关问题
Java:一个字符串型数组中有5个元素,请删除最后第4个并打印
好的,您可以使用以下代码来实现:
```java
public static void main(String[] args) {
String[] arr = {"a", "b", "c", "d", "e"};
int index = arr.length - 2; // 需要删除的元素下标
String[] newArr = new String[arr.length - 1];
for (int i = 0, j = 0; i < arr.length; i++) {
if (i != index) {
newArr[j++] = arr[i];
}
}
String removedElement = arr[index];
arr = newArr;
System.out.println("删除倒数第4个元素" + removedElement + "后的数组为:" + Arrays.toString(arr));
}
```
运行结果为:
```
删除倒数第4个元素c后的数组为:[a, b, d, e]
```
解释如下:
1. 首先定义了一个包含5个元素的字符串型数组 `arr`。
2. 定义了需要删除的元素下标 `index`,这里使用了 `arr.length - 2`,即倒数第4个元素的下标。
3. 然后定义了一个新的长度为4的字符串型数组 `newArr`,用于存储删除指定元素后的数组内容。
4. 遍历 `arr` 数组,将不等于指定下标的元素复制到新数组 `newArr` 中。
5. 获取 `arr` 数组中的被删除的元素,并将其打印出来。
6. 将 `arr` 数组指向新的数组 `newArr`。
7. 最后将删除的元素和新的数组打印出来。
Java完成数组元素的移动功能:假设数组有n个元素,输入一个数x,把数组的第x个位置的元素删除了,后面的元素依次前进一个位置。 重复若干次这样的删除,得到最后的结果。
在Java中,可以使用ArrayList或LinkedList等动态数组结构来实现这个功能,因为它们支持在原地修改元素位置。这里是一个简单的示例,我们将使用ArrayList:
```java
import java.util.ArrayList;
public class ArrayMove {
public static void main(String[] args) {
ArrayList<Integer> array = new ArrayList<>();
// 初始化数组
for (int i = 0; i < n; i++) {
array.add(i);
}
int x;
while ((x = scanner.nextInt()) != -1) { // 假设scanner用于获取用户输入
if (x >= 0 && x < array.size()) {
// 移除指定位置的元素
array.remove(x);
// 调整其余元素的位置
for (int i = x; i < array.size() - 1; i++) {
array.set(i, array.get(i + 1));
}
} else {
System.out.println("Invalid input! Index should be between 0 and " + (array.size() - 1));
}
}
// 输出最终结果
for (int num : array) {
System.out.print(num + " ");
}
}
}
```
在这个程序中,我们首先创建了一个ArrayList,并初始化了n个元素。然后在一个循环里,每次从用户那里读取一个数字x,检查它是否有效。如果有效,就移除该位置的元素并调整其余元素的位置;如果不有效,则打印错误信息。当用户输入-1时,通常表示结束操作。
注意,对于大规模数据或者频繁的插入和删除操作,使用ArrayList效率较低,考虑使用LinkedList会更合适,因为它提供O(1)的时间复杂度进行插入和删除。
阅读全文