Mình đang viết đoạn code này nhưng khi chạy nó cứ báo lỗi này các bạn xem giúp mình mình bì lỗi gì
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 3
at QLSV.main(QLSV.java:44)
import java.util.Scanner;
public class QLSV
{
public static void main(String[] args)
{
String HTSinhVien[];
double DiemTb[];
Scanner sc = new Scanner(System.in);
System.out.println("Nhap vao so sinh vien can quan ly: ");
int n = 0 ;
n = sc.nextInt();
sc.nextLine();
HTSinhVien = new String[n];
DiemTb = new double[n];
for(int i =0 ; i<n ; i++)
{
System.out.println("Nhap vao ten sinh vien thu "+(i+1)+": ");
HTSinhVien[i]= sc.nextLine();
System.out.println("Nhap vao DiemTB "+(i+1)+": ");
DiemTb[i] = sc.nextDouble();
sc.nextLine();
}
int j = 0;
while(j<n)
{
//tim vi tri khoang trong cuoi cung
int k = HTSinhVien[j].lastIndexOf(" ");
//lay doan van sau khoang trang cuoi cung
String x = HTSinhVien[j].substring(k).trim();
//so sánh tu sau khoang trang cuoi cung co = voi "Vi" ko
if(x.compareToIgnoreCase("Vi")==0)
{
int r = j;
if(j==(n-1))
{
n--;
break;
}
else
{
while(r<n)
{
HTSinhVien[r] = HTSinhVien[r+1];
DiemTb[r]=DiemTb[r+1];
r++;
}
n--;
HTSinhVien = new String[n];
DiemTb = new double[n];
j = 0;
}
}
else
j++;
}
for ( int l = 0 ; l < n ; l++)
{
System.out.println("\nHo va ten sinh vien "+(l+1)+": " +HTSinhVien[l]);
System.out.println("DTB "+(l+1)+": " +DiemTb[l]);
}
}
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?