01/10/2018, 15:52
Cho mình hỏi về Java?
Mình tự học Java, mình có bài làm thế này:
package svpoly;
import java.util.ArrayList;
import java.util.Scanner;
/**
*
* @author Administrator
*/
public class SVPoly {
private String hvt;
private double dtb;
public void setHvt (String hvt){
this.hvt = hvt;
}
public String getHvt (){
return hvt;
}
public void setDtb (double dtb){
this.dtb = dtb;
}
public double getDtb(){
return dtb;
}
public static void main(String[] args) {
ArrayList <SVPoly> SVlist = new ArrayList ();
Scanner sc = new Scanner (System.in);
System.out.println("Nhap so luong sv");
int n = sc.nextInt();
for (int i =0; i<n; i++){
SVPoly sv = new SVPoly ();
System.out.printf("Nhap vao sinh vien thu %d ", i+1);
System.out.println();
sc.nextLine();
System.out.println("Nhap ten: ");
String ten = sc.nextLine();
System.out.println("Nhap dtb");
double diem = sc.nextDouble();
sv.setHvt(ten);
sv.setDtb(diem);
SVlist.add(sv);
}
for (int i=0; i< SVlist.size(); i++){
System.out.printf("SV thu %d", i+1);
System.out.println();
System.out.println("Ten "+SVlist.get(i).getHvt()+ " DTB " + SVlist.get(i).getDtb());
}
System.out.println(" Duoi tb");
for (int i =0; i<SVlist.size(); i++){
if (SVlist.get(i).dtb <5){
System.out.println("Ten " +SVlist.get(i).getHvt()+ " DTB " +SVlist.get(i).getDtb());
}
}
System.out.println(" Tren tb");
for (int i =0; i<SVlist.size(); i++){
if (SVlist.get(i).dtb >=5){
System.out.println("Ten " +SVlist.get(i).getHvt()+ " DTB " +SVlist.get(i).getDtb());
}
}
System.out.println(" Nhap sinh vien can tim ");
sc.nextLine();
String tim = sc.nextLine();
for (int i =0; i<SVlist.size(); i++){
if (SVlist.get(i).getHvt().equalsIgnoreCase(tim)){
System.out.println("Ten " +SVlist.get(i).getHvt()+ " DTB " +SVlist.get(i).getDtb());
SVlist.remove(i);
}
}
System.out.println(" sau khi xoa");
for (int i =0; i<SVlist.size(); i++){
System.out.println("Ten " +SVlist.get(i).getHvt()+ " DTB " +SVlist.get(i).getDtb());
}
}
}
**Đề có yêu cầu mình TÌM VÀ SỬA SINH VIÊN THEO HỌ TÊN nhưng mình không làm được với lệnh ArrayList.set . Mong các cao nhân giúp đỡ!! Thanks
Bài liên quan
@@ Tại sao bạn lại để luôn Void main() trong luôn Class SVPoly vậy @@ Phải tạo riêng 1 Class SVPoly và Class Chính để chạy riêng chứ !
Và mình cũng chưa thấy Void ArrayList.setnào trong đoạn code trên @@ Vậy làm sao mà bt bạn bị bug chỗ nào @@
ah, cái này mình biết, mình để vậy để các bác dễ xem thui!! Với đây là bài tập nhỏ để học lệnh ArrayList nên mình nghĩ không cần thiết!! Theo bài này mình đánh lệnh
for (int i =0; i<SVlist.size(); i++){
if (SVlist.get(i).getHvt().equalsIgnoreCase(tim)){
System.out.println("Ten " +SVlist.get(i).getHvt()+ " DTB " +SVlist.get(i).getDtb());
SVlist.set (i, “tam”) //Thay thế “tâm” vào vị trí thứ i thì báo lỗi …Có thể giúp mình chỗ này???
SVlist.remove(i);
Nó bào là lỗi j vậy ?
Ah, Cái SVlist chứ SVPoly chứ không phải String, nên bạn không thể set dc !
Vậy làm sao để có thể sửa giá trị vào vị trí thứ i vậy? Làm thế nào cho đúng? Help me!!
Bạn phải thay thế vào đó 1 SVPoly là dc.
Cụ thể là thế nào vậy bạn? Bạn có thể hoàn thành câu lệnh giúp mình không vậy??
Vd nhé:
Thay cái new SVPoly() thành SVPoly() mà bạn muốn thêm vào !
ok thanks bạn, mình làm đc òi