Code Java bị lỗi ở input.nextLine()

E mới học lập trình Java ạ, code e hiện ra bị lỗi ở" string[i]= input.nextLine();". Các bác xem giúp em với ạ? Đề bài là kiểm tra một chuỗi kí tự có đối xứng hay không ạ. E cảm ơn nhiều

package array;

import java.util.Scanner;

public class chuoiPalindrome{
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String [] str = new String[50];
        int n = 0;
        int i;
        int j;
        int dai;

        System.out.print("Chuoi ki tu cua ban la: ");
        str[]= input.nextLine();

        dai = n -1;
        j = dai/2;
        for(i=0; i<j; i++){
            for(dai = n-1; dai > j; dai--){
                if(str[i] != str[dai]){
                    System.out.println("Chuoi vua nhap la chuoi Palindrome!!!");
                }
                else{
                    System.out.println("Chuoi vua nhap khong phai chuoi Palindrome. Ban hay thu lai nhe!!!");
                }
                
            }
        }
    }
}
1 Like

Thay

    String [] str = new String[50];
    str[]= input.nextLine();

bằng

  String str = input.nextLine();

Đoạn ở trên bị lỗi tại vì bạn khai báo 1 mảng String[], còn nextLine() chỉ trả về 1 String nên nó mới báo lỗi.

Ở đoạn dưới, để lấy ra 1 kí tự tại vị trí i trong chuỗi bạn có thể dùng str.chatAt(i)

1 Like

Cảm ơn ạ, nhưng chương trình vẫn báo lỗi

1 Like

Bạn phải copy thông báo lỗi lên thì mọi người mới giúp được chứ

Em dùng Netbeans ạ

1 Like

Bạn chưa xóa dòng String [] str = new String[50];
Điểm còn lại mình đã gợi ý ở trên rồi, bạn đọc lại rồi tự sửa nhé

1 Like

à, e hiểu rồi. Cảm ơn nhiều ạ :heart_eyes:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?