Я пытаюсь удалить элемент из массива, приняв массив, а также элемент, который нужно удалить. Но когда я печатаю массив, отображается элемент prev на удаляемый элемент. Как я могу это исправить?Я пытаюсь удалить элемент из массива
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class delete {
void main() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the number of numbers");
int n = Integer.parseInt(br.readLine());
int x[] = new int[n];
System.out.println("Enter the numbers");
for (int i = 0; i < n; i++) {
x[i] = Integer.parseInt(br.readLine());
}
System.out.println("Enter the number you want to delete");
int d = Integer.parseInt(br.readLine());
boolean b;
int i = 0;
for (; i < n; i++) {
if (x[i] == d) {
b = true;
break;
}
}
int q = i;//index position of the element to be deleted
int x2[] = new int[n - 1];
for (int k = 0; k < n - 1; k++) {
if (q != k)
x2[k] = x[k];
if (q == k)
x2[k] = x[k + 1];
}
for (int j = 0; j < n - 1; j++) {
System.out.println(x2[j]);
}
}
}
Посмотрите на цикл 'for (int k = 0; k
Tom
Предоставление вашим переменным понятных имен значительно упростило бы то, что вы пытаетесь сделать. – resueman
@ Ты мог бы быть немного более ясным? как это исправить? – thenewbie