01/10/2018, 09:54
Hỏi về cách thức tìm kiếm và sắp xếp trong Arrays List Java
Chào các ban. Mình có một bài toàn về mảng Arrays list nhờ các bạn giúp đỡ. Mình tìm kiếm phần tử trong mảng nhưng khi tìm kiếm ra nó lại lặp 2 lần. Với phương thức sắp xếp và xóa tại sao nó ko in ra phần tử đã xóa và sắp xếp rồi vậy.
package OPP;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
//lop colection
public class StudentDAO {
ArrayList<Integer> ls = new ArrayList<>();
public static void main(String[] args) {
StudentDAO t = new StudentDAO();
t.menu();
// t.inputData();
// t.printData();
}
public void inputData(){
Scanner sc = new Scanner(System.in);
String check = ("y");
do {
System.out.println("input data");
ls.add(sc.nextInt());
System.out.println("Continue");
check = sc.next();
} while(check.equalsIgnoreCase("y"));
}
public void printData(){
for (int i = 0; i < ls.size(); i++) {
System.out.println("=>"+ls.get(i));
}
}
public int findByID(int id){
for (int i = 0; i < ls.size(); i++) {
if (ls.get(i)==id){
System.out.println("tim thay gia tri phan tu "+ls.get(i));
return i;
}
}
return -1;
}
public void deleteByID(int id){
int pos = findByID(id);
if (pos>=0){
ls.remove(pos);
}else{
System.out.println("not found");
}
}
public void doASC(){
Collections.sort(ls);
printData();
Collections.reverse(ls);
}
public void menu()
{
System.out.println("1. Input");
System.out.println("2. Get all list");
System.out.println("3. Find");
System.out.println("4. delete");
System.out.println("5. arrangemnet");
Scanner sc = new Scanner(System.in);
System.out.println("Please choice");
int choice = sc.nextInt();
switch(choice){
case 1: inputData(); menu();
case 2: printData(); menu();
case 3: System.out.println("input id find");
int idFind = sc.nextInt();
findByID(idFind);
int find = findByID(idFind);
if (find<0){
System.out.println("not found");
}else
System.out.println("found pos"+find);
menu();
case 4: System.out.println("input id delete");
int idDel = sc.nextInt();
menu();
case 5: System.out.println("Arrangement ASC");
doASC(); menu();
default: System.exit(0);
}
}
}
Bài liên quan
PS: bạn viết code có bao giờ xem lại mình đã viết cái gì cũng như tự mình debug xem lỗi đến từ đâu trước khi đăng hỏi không vậy