mình có đề bài ntn:
*Số lượng sinh viên cần nhập từ bàn phím.
*Khai báo 1 mảng gồm danh sách họ tên sinh viên
*Tên từng sinh viên nhập từ bàn phím
- Sau khi nhập xong, chương trình hỏi nhập tên sinh viên muốn tìm kiếm
- Tìm và in ra kết quả là có trong danh sách hay không.
code:
package BaiTap;
import java.util.Scanner;
public class Mang {
public static void main(String[] args) {
int n;
Scanner scanIn = new Scanner(System.in);
System.out.println("Nhap vao so sinh vien: ");
n = scanIn.nextInt();
scanIn.nextLine();
String[] ten = new String[n];
for (int i = 0; i < n; i++) {
System.out.println("Nhap sinh ten sinh vien thu " + i);
ten[i] = scanIn.nextLine();
}
System.out.println("Nhap ten sv muon tim: ");
String searchName = scanIn.nextLine();
for (int i = 0; i < n; i++) {
if (searchName.equals(ten[i])==true) {
System.out.println("Ten sv co trong danh sach");
}
else {
System.out.println("Ten sv khong co trong danh sach");
}
}
}
}
không hiểu sao mình lại bị sai ở đoạn so sánh 2 string:
System.out.println("Nhap ten sv muon tim: ");
String searchName = scanIn.nextLine();
for (int i = 0; i < n; i++) {
if (searchName.equals(ten[i])==true) {
System.out.println(“Ten sv co trong danh sach”);
}
else {
System.out.println(“Ten sv khong co trong danh sach”);
}
}
nhưng mà chỗ "nhập tên sinh viên thứ " nên là i+1 và bản thân hàm equals đã trả về kết quả là boolean (true hoặc false) nên bạn chỉ cần dùng lệnh if(searchName.equals(ten[i])) là được! còn nữa với kiểu bài này theo mình nên sử dụng lớp, bạn tạo 1 class lấy tên là Sinhvien, sau đó sử dụng ArrayList, khi đó bạn sẽ dễ mở rộng các thao tác với đối tượng sinh viên về sau hơn )
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?