LH Quảng cáo: lazijsc@gmail.com

Bài tập  /  Bài đang cần trả lời

Viết chương trình nhập vào n số thực dương. Cho biết trong n số đã nhập

Viết bằng lập trình Java trong Netbean 
24. Viết chương trình nhập vào n số thực dương. Cho biết trong n số đã nhập:
- Tổng các số dương đã nhập.
- Số lớn nhất.
- Các số có phần nguyên nguyên tố.
- Các số thực có phần thập phân là 0.
2 trả lời
Hỏi chi tiết
163
Tham khảo câu trả lời từ Trợ lý ảo Lazi
```java
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

System.out.print("Nhập số lượng số thực dương: ");
int n = sc.nextInt();

double[] arr = new double[n];
double sumPositive = 0;
double max = Double.MIN_VALUE;

System.out.println("Nhập các số thực dương:");
for (int i = 0; i < n; i++) {
arr[i] = sc.nextDouble();
if (arr[i] > 0) {
sumPositive += arr[i];
}
if (arr[i] > max) {
max = arr[i];
}
}

System.out.println("Tổng các số dương đã nhập: " + sumPositive);
System.out.println("Số lớn nhất: " + max);
System.out.print("Các số có phần nguyên nguyên tố: ");
for (double num : arr) {
if (isPrime((int) num) && num % 1 == 0) {
System.out.print(num + " ");
}
}
System.out.println();
System.out.print("Các số thực có phần thập phân là 0: ");
for (double num : arr) {
if (num % 1 == 0) {
System.out.print(num + " ");
}
}
}

public static boolean isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
```
Bạn có thể sao chép mã này và dán vào NetBeans để chạy chương trình. Chương trình sẽ yêu cầu nhập số lượng số thực dương, sau đó nhập các số đó và hiển thị tổng các số dương, số lớn nhất, các số có phần nguyên nguyên tố và các số thực có phần thập phân là 0.
1
0
GUNTER OBERDORF ...
30/04 09:44:37
+5đ tặng
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // Nhập số lượng các số thực dương
        System.out.print("Nhập số lượng các số thực dương: ");
        int n = scanner.nextInt();

        // Khai báo mảng để lưu trữ các số thực dương
        double[] numbers = new double[n];

        // Nhập các số thực dương
        for (int i = 0; i < n; i++) {
            System.out.print("Nhập số thực dương thứ " + (i + 1) + ": ");
            numbers[i] = scanner.nextDouble();
        }

        // Tính tổng các số dương
        double sumPositive = 0;
        // Tìm số lớn nhất
        double max = numbers[0];
        // In ra các số có phần nguyên nguyên tố
        System.out.print("Các số có phần nguyên nguyên tố: ");
        // In ra các số thực có phần thập phân là 0
        System.out.print("Các số thực có phần thập phân là 0: ");

        for (double num : numbers) {
            if (num > 0) {
                sumPositive += num;
            }
            if (num > max) {
                max = num;
            }
            if (isPrime((int) num)) {
                System.out.print(num + " ");
            }
            if (num % 1 == 0) {
                System.out.print(num + " ");
            }
        }

        // In tổng các số dương
        System.out.println("\nTổng các số dương đã nhập: " + sumPositive);
        // In số lớn nhất
        System.out.println("Số lớn nhất: " + max);
    }

    // Phương thức kiểm tra số nguyên tố
    public static boolean isPrime(int n) {
        if (n <= 1) {
            return false;
        }
        for (int i = 2; i <= Math.sqrt(n); i++) {
            if (n % i == 0) {
                return false;
            }
        }
        return true;
    }
}

 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
1
0
manh
30/04 09:45:19
+4đ tặng
import java.util.ArrayList;
import java.util.Scanner;

public class NumberAnalyzer {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Nhập số lượng số thực dương (n): ");
        int n = scanner.nextInt();

        ArrayList<Double> numbers = new ArrayList<>();
        double sumOfPositiveNumbers = 0;
        double maxNumber = Double.MIN_VALUE;
        ArrayList<Double> primeIntegerParts = new ArrayList<>();
        ArrayList<Double> zeroDecimalParts = new ArrayList<>();

        System.out.println("Nhập " + n + " số thực dương:");

        for (int i = 0; i < n; i++) {
            double number;
            do {
                System.out.print("Số thực dương thứ " + (i + 1) + ": ");
                number = scanner.nextDouble();
                if (number <= 0) {
                    System.out.println("Số phải là số thực dương. Vui lòng nhập lại.");
                }
            } while (number <= 0);

            numbers.add(number);
            sumOfPositiveNumbers += number;

            if (number > maxNumber) {
                maxNumber = number;
            }

            int integerPart = (int) number;
            if (isPrime(integerPart)) {
                primeIntegerParts.add(number);
            }

            double decimalPart = number - integerPart;
            if (decimalPart == 0) {
                zeroDecimalParts.add(number);
            }
        }

        System.out.println("Tổng các số dương đã nhập: " + sumOfPositiveNumbers);
        System.out.println("Số lớn nhất: " + maxNumber);
        System.out.println("Các số có phần nguyên là số nguyên tố:");
        for (double num : primeIntegerParts) {
            System.out.print(num + " ");
        }
        System.out.println();
        System.out.println("Các số thực có phần thập phân là 0:");
        for (double num : zeroDecimalParts) {
            System.out.print(num + " ");
        }
    }

    public static boolean isPrime(int number) {
        if (number <= 1) {
            return false;
        }
        for (int i = 2; i <= Math.sqrt(number); i++) {
            if (number % i == 0) {
                return false;
            }
        }
        return true;
    }
}
 
GUNTER OBERDORF ...
dài quá r ngắn gọn thôi

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập liên quan
Trắc nghiệm Lập trình Đại học mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Gia sư Lazi Gia sư