30/09/2018, 21:30

Xin giải thích sự khác nhau giữa 2 code sau

xin các bác giải thích dùm e chỗ khác nhau giữa 2 code sau
1 String ageString = new java.util.Scanner(System.in).nextLine();
int age = Integer.parseInt(ageString);
2 int age = new java.util.Scanner(System.in).nextInt();
cả 2 đoạn code trên đều chạy như nhau mà k bik đặc điểm khác nhau là gì và ntn mong các bác giúp e

Trương Quang Hiếu viết 23:45 ngày 30/09/2018

Bạn nhập như sau sẽ thấy sự khác biệt:
Input: (1) DayLaDuLieuToiNhap và (2) 48
Với code 1: Nhận cả (1) và (2). Chuyển sang Integer.
Với code 2: Chỉ nhậ (2) và chuyển sang Integer. Không nhận (1) vì không nhận dạng ra Integer.

Scorpion viết 23:44 ngày 30/09/2018

bác nói rõ hơn dùm e với dc k? tại e vẫn còn mập mờ khi dùng cái 1
theo như bài tập thì nó kiu xuất ra tuổi khi nhập tuổi vào và thấy cả 2 cách đều vẫn dùng được…

Trương Quang Hiếu viết 23:31 ngày 30/09/2018

Dữ liệu bạn nhập vào có cơ chế tự nhận dạng. Giả sử bạn nhập Foo thì nó biết là chuỗi. Bạn nhập 322 có biết đây có thể là chuỗi, có thể là integer.
Vì thế nên khi bạn nhập số tuổi là integer thì kết quả ra hoàn toàn giống nhau. Vì cách 1 nó nhận vào là string, sau đó nó đổi sang integer bằng hàm ParseInt rồi. Còn cách 2 thì nó nhận vào là int luôn.

Scorpion viết 23:46 ngày 30/09/2018

thanks bác nha e hỉu rùi

Bài liên quan
0