.:: CODE SNIPPET ::.

"Your time is limited, so don't waste it living someone else's life"

Get input từ người dùng trong Java với Scanner và JOptionPane


Có nhiều cách to get để get input từ người dùng trong Java bao gồm dùng command line và dùng giao diện người dùng. Cách đơn giản nhất là truyền vào mảng các chuỗi String[] và truyền vào hàm main trong Java, nhưng cách này chỉ hoạt động một lần yêu cầu. Một cách khác là sử dụng các lớp IO như InputStream để đọc từ màn hình console. Kể từ Java 5 thì chúng ta có một lớp tiện ích là Scanner. Đây là một lớp mạnh mẽ và cho phép chúng ta lấy input từ nhiều loại dữ liệu như String, int,…

Mặt khác bạn có thể sử dụng một GUI để get input từ người dùng bằng JOptionPane. JOptionPane cho phép bạn hiển thị một  hộp thoại (dialog box) và lấy thông tin từ người dùng một cách không hạn chế như trong Swing API.

Sau đây là cách mà bạn  sử dụng để lấy thông tin người dùng cách trực quan. Chương trình này dùng java.util.Scanner để lấy vào String, int và float và sau đó là cách sử dựng JOptionPane để hiển thị dialog box để lấy dữ liệu vào:

import java.io.IOException;
import java.util.Scanner;
import javax.swing.JOptionPane;

/**
 *
 * @author PRMHUITEDU
 */
public class TestBasicJava {

    public static void main(String args[]) throws IOException {

        //Đầu tiên là khai báo một Scanner như sau:
        Scanner inputReader = new Scanner(System.in);

        //Để lấy vào một chuỗi làm như sau:
        System.out.print("Please enter your name: ");
        String name="";//<<=== Chú ý
        name = inputReader.next();

        //Để lấy vào một số kiêu int làm như sau:
        System.out.print("Please enter your birth year:");
        int number = inputReader.nextInt();

        //Để lấy vào một số kiểu float làm như sau:
        System.out.print("Please enter your average mark: ");
        float decimal = inputReader.nextFloat();

        System.out.println("INFORMATION");
        System.out.println("Name:         "+name);
        System.out.println("Birth year:   "+number);
        System.out.println("Average Mark: "+decimal);

        //Để lấy thông tin bằng JOptionPane, các bạn chỉ cần làm việc sau:
        String input = JOptionPane.showInputDialog("Enter any number of your choice");
        System.out.println("User has entered: " + input);
    }
}

Với đoạn code ngắn trên, các bạn có thể dùng netbean để Run nhé.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: