Java 输入10个数字并倒序打印出来

引言

作为一名经验丰富的开发者,我将向你介绍如何实现在Java中输入10个数字并倒序打印出来的任务。在本文中,我将按照以下步骤教导你完成这个任务:

  1. 创建一个Java类用于用户输入。
  2. 初始化一个数组用于存储用户输入的数字。
  3. 获取用户输入的数字并存储到数组中。
  4. 对数组进行排序,使其按照倒序排列。
  5. 打印出排序后的数组。

首先,我们需要创建一个Java类来完成用户输入的功能。

import java.util.Scanner;

public class UserInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        int[] numbers = new int[10];
        
        System.out.println("请输入10个数字:");
        
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] = scanner.nextInt();
        }
        
        scanner.close();
        
        // 排序数组
        for (int i = 0; i < numbers.length; i++) {
            for (int j = i + 1; j < numbers.length; j++) {
                if (numbers[i] < numbers[j]) {
                    int temp = numbers[i];
                    numbers[i] = numbers[j];
                    numbers[j] = temp;
                }
            }
        }
        
        // 打印数组
        System.out.println("倒序排列后的数组为:");
        
        for (int number : numbers) {
            System.out.print(number + " ");
        }
    }
}

代码解析

定义Scanner对象:

Scanner scanner = new Scanner(System.in);

通过创建一个Scanner对象,我们可以读取用户的输入。这里我们将其命名为scanner

初始化数组:

int[] numbers = new int[10];

我们创建了一个长度为10的整型数组,用于存储用户输入的数字。

获取用户输入的数字:

for (int i = 0; i < numbers.length; i++) {
    numbers[i] = scanner.nextInt();
}

通过使用循环,我们可以让用户输入10个数字,并将其存储到数组中。

关闭Scanner:

scanner.close();

当我们完成用户输入后,为了释放系统资源,我们需要关闭Scanner。

排序数组:

for (int i = 0; i < numbers.length; i++) {
    for (int j = i + 1; j < numbers.length; j++) {
        if (numbers[i] < numbers[j]) {
            int temp = numbers[i];
            numbers[i] = numbers[j];
            numbers[j] = temp;
        }
    }
}

通过使用两层嵌套循环,我们可以对数组进行排序。这里我们使用冒泡排序算法进行排序,使数字按照倒序排列。

打印数组:

System.out.println("倒序排列后的数组为:");

for (int number : numbers) {
    System.out.print(number + " ");
}

最后,我们使用循环打印出排序后的数组。这里我们使用了增强型for循环来遍历数组,并使用System.out.print()方法来逐个打印数组元素。

类图

下面是本示例程序的类图表示:

classDiagram
    class UserInput {
        +main(String[] args)
    }

流程图

下面是本示例程序的流程图表示:

flowchart TD
    A[开始]
    B[创建Scanner对象]
    C[初始化数组]
    D[获取用户输入的数字]
    E[关闭Scanner]
    F[排序数组]
    G[打印数组]
    H[结束]
    
    A --> B
    B --> C
    C --> D
    D --> E
    E --> F
    F --> G
    G --> H