Viết chương trình tính giá trị của biểu thức Q = 1 + 1/2 + 1/3 + ... + 1/n với n là số bất kỳ được nhập từ bàn phím (n > 0).
Yêu cầu: Chương trình phải kiểm tra số n nhập vào có phải là số nguyên dương không, nếu không thì yêu cầu người dùng nhập lại.
Bài giải
-------------------- ######## --------------------
Bài giải.
package vong_lap_for; import java.text.DecimalFormat; import java.util.Scanner; public class TinhGiaTriBieuThucQ { public static void main(String[] args) { int n; float sum = 0; Scanner scanner = new Scanner(System.in); // làm tròn đến 2 chữ số thập phân DecimalFormat decimalFormat = new DecimalFormat("#.##"); // n còn nhỏ hơn 1 thì còn nhập lại do { System.out.println("Mời bạn nhập vào số n: "); n = scanner.nextInt(); } while (n < 1); /* * tính giá trị của biểu thức * i còn nhỏ hơn hoặc bằng n thì còn thực hiện thân vòng lặp */ for (int i = 1; i <= n; i++) { sum += (float) 1/i; // ép kiểu về float để có kết quả chính xác } System.out.println("Tổng = " + decimalFormat.format(sum)); } }
Nguồn: freetuts.net