Java ป้องกันการใส่อักษรแทนตัวเลขผ่านคีย์บอร์ดยังไงครับ

import java.util.Scanner;

public class Person {
private String oname;
private int age;
private char sex;

public static void main(String[] args) {
    Person ka = new Person();
    Scanner kb = new Scanner(System.in);
    System.out.print("Enter Name :");
    ka.setName(kb.nextLine());
    System.out.print("Enter Age :");    
        try
        {    //int    age = kb.nextInt();
            ka.setAge(kb.nextInt());
        }
        catch (NumberFormatException e)
        {System.out.println("Conversion erro:"+ e.getMessage());
        }
    ka.printdetail();
}

private void setSex(char s){
    this.sex = s;
}
public void setName(String uname){
    this.oname = uname;
}
public void setAge(String uage){
    this.age = Integer.parseInt(uage);
}
public void setAge(int uage){
    this.age = uage;
}

public void printdetail(){
    System.out.println("Name : "+oname);
    System.out.println("Age : "+age);
}
}
จากโค๊ดที่หัดเขียน ข้างบน รบกวนถามว่า
จะป้องกันไม่ให้ user ใส่ อักษรลงไปแทนอายุ ด้วยอย่างไร (ยังใช้วันที่ไม่เป็น กะว่าให้ใส่วันเกิดนั่นแหละ แต่ตอนนี้ยังอ่านไม่ถึง)
อาจประยุกต์ใช้อย่างอื่น เช่น อัตราเงินเดือน หรือรหัสไปรษณีย์ ครับ
ผมพยายามใส่ try catch หรือใส่ผิดไม่แน่ใจ รบกวนด้วยครับ
แสดงความคิดเห็น
Preview
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่