30/09/2018, 19:33

Hỏi ý nghĩa câu lệnh Integer.parseInt trong java

chào anh chị và các bạn trên forum , em có câu lệnh này không hiểu tại sao nó đã khai báo kiểu unt rồi mà lại cho bằng cái Integer.parseInt… kia ạ, mong mọi người giúp em , em không hiểu ý nghĩa của lệnh này ạ :
int id=Integer.parseInt( scn.nextLine() );

System.out.println("Add student's id: ");
int id=Integer.parseInt( scn.nextLine() );
Nguyễn Hữu Quyền viết 21:39 ngày 30/09/2018

int id=Integer.parseInt( scn.nextLine() );

scn.nextLine() : là lấy một chuỗi ký tự nhập từ màn hình vào

Integer.parseInt( scn.nextLine() ) : là phân tích chuỗi đó thành số kiểu Integer

Cách này nếu bạn nhập : 12a456 có chữ thì sẽ ném ra ngoại lệ NumberFormatException

Việt Dũng Lê viết 21:37 ngày 30/09/2018

cám ơn anh đã giúp em ạ . Em muốn hỏi thêm là , tại sao ở đó họ không dùng thẳng là int id=scn.nextInt(); luôn mà lại phải code như trên ạ

Nguyễn Hồng Sơn viết 21:38 ngày 30/09/2018

Mình cho rằng có thể người nhận dùng để nhận các số kiểu float, double ( có các hậu tố f sau )
Khi bạn nhập 10f chăng hạn, nó sẽ nhận về làm chuỗi kí tự và Interger,parse kia nó sẽ cast về giá trị của kiểu int.
Còn thằng Int kiêu nó sẽ chỉ nhập số int.
Thử đọc docment xem

Nguyễn Hữu Quyền viết 21:39 ngày 30/09/2018

cám ơn anh đã giúp em ạ . Em muốn hỏi thêm là , tại sao ở đó họ không dùng thẳng là int id=scn.nextInt(); luôn mà lại phải code như trên ạ

Dễ hiểu thôi mà , đó là để dễ bắt các ngoại lệ nếu người dùng nhập vào chữ , nếu em để nextInt() em phải try catch ngay lúc nhập vào , mà như vậy thì không đẹp code cho lắm. Nên cứ nhập vô chữ hay số gì cũng được rồi em mới kiểm tra xem nó hợp lệ hay không và thông báo cho người dùng , theo cách này thì em code dễ hơn ^^~ . Vậy thôi

Việt Dũng Lê viết 21:37 ngày 30/09/2018

Em cám ơn anh rất nhiều ạ

Truong Pham viết 21:34 ngày 30/09/2018

Bạn gán cả tag parse vào nhưng đây đâu phải parse đâu

Vanphat Dang viết 21:35 ngày 30/09/2018

anh oi lien he gmail em ty em muon hoi chut dc k a dangvanphat780@mail.com

Bài liên quan
0