Java - Xóa Phần Tử Có Giá Trị K Trong Mảng (k Nhập Từ Bàn Phím).

Java - Xóa phần tử có giá trị k trong mảng (k nhập từ bàn phím).

Viết chương trình thực hiện các công việc sau: Nhập một mảng có n phần tử nguyên từ bàn phím (n > 0). Sau đó nhập vào số nguyên k và xóa các phần tử trong mảng có giá trị bằng k.

Yêu cầu kỹ thuật: Chương trình phải kiểm tra n nhập vào: nếu n <= 0 thì cho nhập lại số phần tử cho đến khi thỏa mãn điều kiện.

test php

Bài giải

-------------------- ######## --------------------

Bài giải public static void main(String[] args) { int n, i, c; Scanner scanner = new Scanner(System.in); do { System.out.println("Nhập vào số phần tử của mảng: "); n = scanner.nextInt(); } while (n <= 0); int A[] = new int[n]; System.out.println("Nhập các phần tử cho mảng: "); for (i = 0; i < n; i++) { System.out.print("Nhập phần tử thứ " + i + ": "); A[i] = scanner.nextInt(); } System.out.println("Nhập số nguyên k: "); int k = scanner.nextInt(); // xóa phần tử k ra khỏi mảng // vòng lặp for sẽ khởi tạo c = i = 0 // và duyệt i từ 0 đến n // nếu phần tử tại vị trí i khác với số nguyên k // thì gán phần tử tại i cho phần tử tại k // sau đó tăng c lên 1 for (c = i = 0; i < n; i++) { if (A[i] != k) { A[c] = A[i]; c++; } } n = c; // lúc này số phần tử trong mảng sẽ bằng c // hiển thị các phần tử trong mảng sau khi xóa k System.out.println("Mảng còn lại sau khi xóa phần tử " + k + " là: "); for (i = 0; i < n; i++) { System.out.print(A[i] + "\t"); } }

Giải thích hoạt động của chương trình trên:

test php

banquyen pngBài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Bước 1: Nhập vào số phần tử của mảng n = 5, các phần tử cho mảng A[0] = 1, A[1] = 2, A[2] = 2, A[3] = 3 và A[4] = 4 và số nguyên k cần xóa = 3.

Bước 2: Thực hiện vòng lặp for: Ban đầu khởi tạo c = i = 0. i = 0 < 5 nên thực hiện các lệnh trong thân vòng lặp, vì A[i] = 1 != 2 nên gán A[c] = A[i] = 1 và tăng c lên 1, lúc này c = 1.

Bước 3: Tăng i lên 1, i = 1 < 5 nên thực hiện các lệnh trong thân vòng lặp, vì A[i] = 2 = 2 nên bỏ qua không thực hiện lệnh trong thân vòng for.

Bài viết này được đăng tại [free tuts .net]

Bước 4: Tăng i lên 1, i = 2 < 5 nên thực hiện các lệnh trong thân vòng lặp, vì A[i] = 2 = 2 nên bỏ qua không thực hiện lệnh trong thân vòng for.

Bước 5: Tăng i lên 1, i = 3 < 5 nên thực hiện các lệnh trong thân vòng lặp, vì A[i] = 3 != 2 nên gán A[c] = A[i] = 3 và tăng c lên 1, lúc này c = 2.

Bước 6: Tăng i lên 1, i = 4 < 5 nên thực hiện các lệnh trong thân vòng lặp, vì A[i] = 4 != 2 nên gán A[c] = A[i] = 4 và tăng c lên 1, lúc này c = 3.

Bước 7: Tăng i lên 1, i = 5 không thỏa mãn điều kiện lặp nên bỏ qua không thực hiện lệnh trong thân vòng for.

Bước 8: Gán n = c, lúc này số phần tử trong mảng = c = 3.

Bước 9: Hiển thị các phần tử còn lại trong mảng là: 1 2 2 4

Kết quả sau khi biên dịch chương trình:

ketqua baitap6mang1chieu PNG

Câu hỏi thường gặp liên quan:

  • Java - Nhập mảng và thực hiện các thao tác trên mảng.
  • Java - Sắp xếp mảng tăng dần sử dụng phương pháp nổi bọt (Bubble sort).
  • Java - Tìm kiếm một phần tử sử dụng trong mảng sử dụng thuật tìm kiếm nhị phân.
  • Java - Kiểm tra mảng một chiều vừa nhập có phải là mảng đối xứng hay không?
  • Java - Tìm và in ra màn hình số lượng số nguyên lẻ, số lượng số nguyên chẵn trong mảng.
  • Java - Xóa phần tử có giá trị k trong mảng (k nhập từ bàn phím).
  • Java - Nhập mảng và thực hiện tách các số chẵn và lẻ trong mảng sang hai mảng khác.
  • Java - Tách một nửa đầu của mảng ban đầu sang mảng thứ nhất và nửa còn lại sang mảng thứ hai.
  • Java - Viết chương trình hiển thị các phần tử chia hết cho 5 trong mảng.
  • Java - Đếm số lần xuất hiện của 1 phần tử được nhập từ bàn phím.
  • Java - Bài tập tổng hợp các thao tác trên mảng.
  • Java - Viết chương trình nhập mảng sao cho không có phần tử nào trùng nhau.

Cùng chuyên mục:

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Cách sử dụng Spring  Scheduled trong Spring Boot

Cách sử dụng Spring Scheduled trong Spring Boot

Cách dùng Groovy trong Spring Boot Java

Cách dùng Groovy trong Spring Boot Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo ứng dụng Chat với Spring Boot và Websocket

Tạo ứng dụng Chat với Spring Boot và Websocket

Sử dụng JUnit để tạo unit test trong Spring Boot

Sử dụng JUnit để tạo unit test trong Spring Boot

Cách triển khai Spring Boot trên Tomcat Server

Cách triển khai Spring Boot trên Tomcat Server

Cách test RESTful API trong Spring Boot

Cách test RESTful API trong Spring Boot

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Từ khóa » Xóa Mảng Trong Java