01/10/2018, 08:48

Làm thế nào để tìm tên trong java

đề của mình là class có 1 mảng các chuỗi là tên của các sinh viên; nhập tên của 1 sinh viên và in ra tất cả các sinh viên giống tuyệt đối hoặc gần giống; mình dùng equalsIgnoreCase mà không được;mong giúp đỡ.


        Scanner sc = new Scanner(System.in);
		String a[] = new String[100];
		System.out.print("nhap so hoc sinh ");
		int n = sc.nextInt();
		sc.nextLine();

		for (int i = 0; i < n; i++) {
			a[i] = sc.nextLine();

		}
		for (int i = 0; i < n; i++) {
			System.out.println(a[i]);
		}
		System.out.print("-----Nhap ten sinh vien can tim kiem---");

		String ten = sc.nextLine();

		System.out.println("----Danh sach sinh vien can tim kiem la: ---");
		for (int i = 0; i < a.length; i++) {
		
			if (a[i].equalsIgnoreCase(ten)) {
				System.out.println("" + a[i]);
			}
		}
Vu Van Chung viết 10:50 ngày 01/10/2018

Cái hàm equalsIgnoreCase(String str) nó chỉ trả về kết quả đúng nếu như hai chuỗi giống hệt nhau, chỉ khác nhau chữ hoa, thường thôi. Ví dụ ("tôi là chunG").equalsIgnoreCase("tôi là Chung") sẽ trả về TRUE. Nhưng ("Tôi là Chung").equalsIgnoreCase("Tôi là Chung sensei") thì kết quả sẽ là sai. Nếu bạn muốn làm vậy thì bạn nên dùng hàm contain để kiểm tra xem nó có chứa xâu đó hay không. Bạn tra google về hàm này nhé, Trước khi dùng thì biến 2 xâu cần so sánh về dạng chữ thường đã!

Khoa Nguyễn viết 11:01 ngày 01/10/2018

c.ơn anh

Bài liên quan
0