Java学习第二天——求一维数组最小值及其下标

问题

有一数组内放5个整数,要求找出第一次出现的最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置。

输入格式:

在一行中输入5个用空格间隔的整数。

输出格式:

在第一行输出变化后的一维数组,每个数占4列列宽,在第二行输出“min=最小值,weizhi=下标”,最小值和下标都是原样输出,没有列宽控制。

代码实现如下

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] array = new int[5];
        for (int i = 0; i < 5; i++) {
            array[i] = scanner.nextInt();
        }

        int minIndex = 0;
        int minValue = array[0];

        for (int i = 1; i < 5; i++) {
            if (array[i] < minValue) {
                minValue = array[i];
                minIndex = i;
            }
        }

        int temp = array[0];
        array[0] = array[minIndex];
        array[minIndex] = temp;

        // 输出变化后的一维数组
        for (int i = 0; i < 5; i++) {
            System.out.printf("%4d", array[i]);
        }
        
        // 输出最小值和下标
        System.out.println("\nmin=" + minValue + ",weizhi=" + minIndex);
    }
}
  1. 首先通过 Scanner 从标准输入中读取一行数据,包含了五个整数,这五个整数构成了一个数组。

  2. 然后定义一个整型数组 array 用来存储这五个整数。

  3. 通过遍历输入的五个整数,将它们依次存储到数组 array 中。

  4. 紧接着,在数组 array 中找到第一次出现的最小值以及它的下标,使用变量 minValueminIndex 来记录。

  5. 进行数组元素的交换操作,将找到的最小值与数组中的第一个元素进行位置交换

  6. 接着输出最小值及其下标即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值