TỔNG QUAN
CẤU TRÚC ĐIỀU KHIỂN
VÒNG LẶP
CHUỖI VÀ MẢNG
COLLECTIONS
THƯ VIỆN QUAN TRỌNG
HƯỚNG ĐỐI TƯỢNG
XỬ LÝ LUỒNG
EXCEPTION
LÀM VIỆC VỚI FILE
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Java - Nhập vào thông tin của 1 sinh viên và hiển thị ra màn hình.

Nhập vào thông tin của một sinh viên từ bàn phím (thông tin đó bao gồm họ tên, năm sinh và địa chỉ). Sau đó hiển thị các thông tin vừa nhập ra màn hình Console.

test php

Bài giải

-------------------- ######## --------------------

Bài giải
package baitap;

import java.util.Scanner;

public class StudentInformation {	
	public static void main(String[] args) {
		String name;
		int year;
		String address;
		
		Scanner scanner = new Scanner(System.in);
		System.out.println("Nhập vào họ tên của sinh viên: ");
		name = scanner.nextLine();
		System.out.println("Nhập vào năm sinh của sinh viên: ");
		year = scanner.nextInt();
		System.out.println("Nhập vào địa chỉ của sinh viên: ");
		address = scanner.nextLine();
		
		System.out.println("Họ tên của sinh viên: " + name);
		System.out.println("Tuổi của sinh viên =  " + year);
		System.out.println("Địa chỉ của sinh viên: " + address);
	}

}
Khi biên dịch chương trình thì chúng ta sẽ có kết quả như sau:

ketqua baitapnhapvahienthisinhvien PNG

Các bạn thấy trong kết quả hiển thị thì sau khi nhập năm sinh và nhấn Enter để tiếp tục nhập địa chỉ của sinh viên thì lúc này trình biên dịch sẽ hiển thị kết quả với địa chỉ của sinh viên bằng rỗng. Hiện tượng này gọi là hiện tượng trôi lệnh khi sử dụng Scanner trong Java.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Vậy vì sao lại xảy ra hiện tượng trôi lệnh này? Và nó xảy ra khi nào? Như trong đoạn chương trình trên thì các bạn thấy hiện tượng trôi lệnh xảy ra khi chúng ta nhập vào một số và sau đó nhập vào một chuỗi. Lý do là vì khi các bạn nhập số xong và nhấn Enter thì lúc này dòng lệnh address = scanner.nextLine(); sẽ nhận ký tự Enter là giá trị của chuỗi đó. Và khi hiển thị thì giá trị địa chỉ của sinh viên sẽ bằng rỗng.

Để xử lý hiện tượng trôi lệnh trong Java, chúng ta có nhiều cách, nhưng trong bài này tôi sẽ giới thiệu cách phổ biến nhất (về hiện tượng trôi lệnh trong Java tôi sẽ làm thành một bài riêng để các bạn tham khảo).

Chúng ta sửa đoạn chương trình trên như sau:

Bài viết này được đăng tại [free tuts .net]

Bài giải
package baitap;

import java.util.Scanner;

public class StudentInformation {	
	public static void main(String[] args) {
		String name;
		int year;
		String address;
		
		Scanner scanner = new Scanner(System.in);
		System.out.println("Nhập vào họ tên của sinh viên: ");
		name = scanner.nextLine();
		System.out.println("Nhập vào năm sinh của sinh viên: ");
		/*
		 *  sử dụng Integer.parseInt() để khắc phục hiện tượng trôi lệnh
		 *  Integer.parseInt() sẽ chuyển dữ liệu kiểu chuỗi (String) thành số nguyên (Integer).
		 */
		year = Integer.parseInt(scanner.nextLine());
		System.out.println("Nhập vào địa chỉ của sinh viên: ");
		address = scanner.nextLine();
		
		System.out.println("Họ tên của sinh viên: " + name);
		System.out.println("Tuổi của sinh viên =  " + year);
		System.out.println("Địa chỉ của sinh viên: " + address);
	}

}
Đến đây, chúng ta đã có thể nhập được địa chỉ cho sinh viên và kết quả hiển thị như sau:

ketqua baitapnhapvahienthisinhvien1 PNG

Trong bài tập này tôi đã giới thiệu đến các bạn về cách xử lý hiện tượng trôi lệnh khi sử dụng Scanner trong Java. Đây là một bài nền tảng để các bạn có thể giải quyết tốt các bài tập tiếp theo. Chúc các bạn thành công!

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Cách sử dụng Spring  Scheduled trong Spring Boot

Cách sử dụng Spring Scheduled trong Spring Boot

Cách dùng Groovy trong Spring Boot Java

Cách dùng Groovy trong Spring Boot Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo ứng dụng Chat với Spring Boot và Websocket

Tạo ứng dụng Chat với Spring Boot và Websocket

Sử dụng JUnit để tạo unit test trong Spring Boot

Sử dụng JUnit để tạo unit test trong Spring Boot

Cách triển khai Spring Boot trên Tomcat Server

Cách triển khai Spring Boot trên Tomcat Server

Cách test RESTful API trong Spring Boot

Cách test RESTful API trong Spring Boot

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Top