Em đang học java và đang làm 1 bài tập như sau:
Em chép ra 1 đoạn code hướng dẫn ở trong sách như sau:
package com.nac.xulychuoi;
public class Text{
private String text;
public Text(String text){
this.text = text;
}
public void printUpper(){
System.out.println("Các ký tự in hoa:");
//Duyệt toàn bộ các ký tự của chuỗi text
for(int i = 0; i < text.length();i++){
//Lấy ra ký tự thứ i
char kyTu = text.charAt(i);
//Kiểm tra xem ký tự đó có là in hoa không?
if(kyTu >= "A" && kyTu <= "Z"){
//In ký tự ra màn hình
System.out.println(kyTu + "");
}
}
}
public void calcSumNumber(){
int sum = 0;
//Duyệt toàn bộ các ký tự của chuỗi text
for(int i = 0; i < text.length(); i++){
//Lấy ra ký tự thứ i
char kyTu = text.charAt(i);
//Kiểm tra xem ký tự đó có phải là số nguyên không?
if(kyTu >= "A" && kyTu <= "Z"){
//Chuyển chuỗi sang số nguyên
int number = Integer.parseInt(kyTu + "");
sum = sum + number;
}
}
//In tổng các ký tự là số ra màn hình
System.out.println("\nSum = " + sum);
}
}
package nữa của chương trình:
package com.nac.xulychuoi.main;
import com.nac.xulychuoi.Text;
public class Main{
public static void main(String[] args){
Text text = new Text("Hello Android12");
text.printUpper();
text.calcSumNumber();
}
}
Và nó báo sai ở dòng lệnh: if(kyTu >= "A" && kyTu <= "Z"){
ý em hiểu là câu lệnh trên có nghĩa nếu kyTu tồn tại trong khoảng ký tự từ A đến Z thì in ra chữ đó trong chuỗi nhập vào, nhưng khi chạy lại sai, em tìm hiểu nguyên nhân thì thấy là >= và <= không áp dụng được cho kiểu dữ liệu char và String. Nhưng em vẫn chưa biết sửa sao cho đúng ạ. Mong mọi người giải thích hộ em.