Bài tập tách kí tự trong Java

em chào mọi người ạ. mong mọi người giúp em câu này ạ.
intput ; ICN-HAN
output: ICN
dưới đây là code của em như này ạ nhưng không đúng :frowning: em cảm ơn mọi người

public String getDeparture() {
    
    for (int i = 0; i < route.length(); i++) {
        if(i=='-') 
          break;
    }
    return route;

}
if (route.charAt(i) == '-')

Với lại vòng for kia có vẻ không có tác dụng gì vì đến cuối bạn return lại cái route ban đầu.

2 Likes

thật ra em mới học nên hơi gà :frowning: bác có thể hướng dẫn giúp em được không ạ, em cảm ơn bác

Cái này dùng spilt() là được mà

3 Likes

Về hàm kia của bạn:
Giả sử route là “ICN-HAN”

  • Chạy vòng for, i lúc đầu bằng 0, i tăng đến 3 thì gặp “-” nên nó bị break (thực ra theo code bạn thì nó không dừng ở đây nhưng mình nghĩ là bạn có ý làm như vậy)
  • Thoát ra khỏi vòng lặp, bạn return route, mà route là “ICN-HAN” nên kết quả trả về sai.

Sửa như sau:
Khi gặp được dấu “-” thì bạn return luôn đoạn string từ vị trí 0 đến vị trí i. Đại loại là thế này:

for(int i = 0; i < route.length(); i++)
{
    if(route.charAt(i) == '-') return route.subString(0, i);
}

subString dùng để trả về xâu con.

6 Likes

Bạn lên google tìm hướng dẫn sử dụng StringTokenizer hoặc split nhé

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