Bài toán tính tổng các số thực từ Command line


Trong bài viết này Tôi muốn hướng dẫn các bạn cách lấy danh sách các đối số là số thực được nhập vào từ Command Line

Giả sử Tôi tạo  1 class SumListFromCommandLine như bên dưới

———————————————————————————————

public class SumListFromCommandLine {

public static void main(String[] args) {

if(args!=null && args.length>0)

{

double sum=0;

for(String s:args)

{

sum+=Double.parseDouble(s);

}

System.out.printf(“Sum = %f”,sum);

}

else

{

System.out.println(“No Arguments”);

}

}

}

———————————————————————————————–

Giải thích code:

if(args!=null && args.length>0) dòng lệnh này để kiểm tra xem đối số có được nhập vào từ command line hay không. Nếu có thì ta mới thực hiện các lệnh tiếp theo, còn không thì xuất ra thông báo “No Arguments”

for(String  s args)

{

sum+=Double.parseDouble(s);

}

Java cho phép chúng ta duyệt các phần tử trong một mảng bằng hàm for như trên. Từng phần tử của mảng sẽ có kiểu chuỗi, như vậy để chuyển đổi thành kiểu số thực (ở đây Tôi dùng kiểu double) các bạn sẽ dùng Double.parseDouble(s); Sau đó ta cộng dồn các giá trị này vào biến sum.

Bạn có thể thay vòng for bên trên thành:

for(int i=0;i<args.length;i++)

{

sum+=Double.parseDouble(args[i]);

}

Để chạy chương trình Tôi sẽ hướng dẫn các bạn dùng công cụ Eclipse cho tiện lợi, cách mở cửa sổ Run Configurations Tôi đã hướng dẫn ở Topic trước Ví dụ xuất dãy Fibonacci từ 1 ->n, với n lấy từ command line <= các bạn click vào đây để xem lại

Trong ví dụ này, bạn hãy nhập các số thực vào mục Program arguments, chú ý rằng các đối số được ngăn cách bởi khoảng trắng. Sau đó bạn click nút Run để xem kết quả:

Cách chạy bên cửa sổ Run của Windows cũng tương tự như Topic Ví dụ xuất dãy Fibonacci từ 1 ->n, với n lấy từ command line, bạn chỉ cần nhập các đối số cách nhau bởi khoảng trắng.

Các bạn hãy thử làm để kiểm tra kết quả

Chúc các bạn thành công!

4 responses

  1. thua thay .. sao o phan Problems lai bao loi “the value of the local variable s is not sum “

    1. Em hãy kiểm tra lại kiểu dữ liệu mà em nhập trong CommandLine,

  2. Thầy ơi cho em hỏi!
    tại sao bài này phải dùng: vào menu Run / chọn Run Configurations… rồi nhập giá trị mà không phải là mình tự nhập vào ạ.

    1. Đây là ví dụ để lấy các giá trị từ Command Line.
      Em có thể nhập trong cửa sổ Run của Windows hoặc trong Eclipse em nhập thông số như trên.
      Em muốn tự nhập thì mình dùng Scanner để nhập. Nhưng trong ví dụ này là hướng dẫn cách lấy giá trị từ command line

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: