30/09/2018, 19:53

Em mới học lập trình Java, đang bị lỗi ở "string[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!!!");
                }
                
            }
        }
    }
}
Tobi the Terrible viết 22:00 ngày 30/09/2018

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)

Phạm Hồng Phúc viết 22:03 ngày 30/09/2018

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

Tobi the Terrible viết 21:57 ngày 30/09/2018

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

Phạm Hồng Phúc viết 22:10 ngày 30/09/2018

Em dùng Netbeans ạ

Tobi the Terrible viết 21:57 ngày 30/09/2018

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é

Phạm Hồng Phúc viết 22:01 ngày 30/09/2018

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

Bài liên quan
0