数组遍历、数组倒转、二维数组求和 题目

发布于:2024-06-19 ⋅ 阅读:(129) ⋅ 点赞:(0)

JAVA16 数组遍历

描述
将用户输入的六个数字填入数组并找出数组中最大值和最小值。
 
输入描述:
随机输入的6个整数。
 
输出描述:
输出数组中的最大值,最小值(最大值最小值之间用空格隔开。若有多个最大值或最小值,输出一次即可,如样例2所示)

示例:

输入:1 3 5 2 4 6
输出:6 1
输入:1 1 2 3 4 4
输出:4 1

 

分析:

1.输入六个整数。

2.输出最大值和最小值。

 

代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] ary = new int[6];
        int max;
        int min;
        Scanner scanner = new Scanner(System.in);
     	for (int i = 0; i <ary.length ; i++) {
            ary[i]=scanner.nextInt();
        }

        max=ary[0];
        min=ary[0];
        for(int i=1;i<ary.length;i++){
            if(max<ary[i]){
                max=ary[i];
            }
            if(min>ary[i]){
                min=ary[i];
            }
        }
        
        System.out.println(max+" "+min);
    }
}

 
 

大佬代码:

将数组升序排序,第一个元素最小,最后元素最大。

import java.util.Scanner;
import java.util.Arrays;
 
public class Main {
    public static void main(String[] args) {
        int[] ary = new int[6];
        int max;
        int min;
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i <ary.length ; i++) {
            ary[i]=scanner.nextInt();
        }
 
        Arrays.sort(ary);
        max = ary[5];
        min = ary[0];
        System.out.println(max+" "+min);
    }
}

 
 
 

使用max()和min()函数。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] ary = new int[6];
        int max;
        int min;
        Scanner scanner = new Scanner(System.in);
     	for (int i = 0; i <ary.length ; i++) {
            ary[i]=scanner.nextInt();
        }

        max=ary[0];//把数组的第一个数作为初始化的数字
        min=ary[0];
        for(int i=0;i<ary.length;i++){
            max=Math.max(ary[i],max);
            min=Math.min(ary[i],min);
    	}

        System.out.println(max+" "+min);
    }
}

 
 
 

JAVA17 数组倒转

描述
输入6个整数,先将其输出然后再将数组倒转,再次输出数组。
 
输入描述:
用户随机输入的6个int类型变量。
 
输出描述:
先输出用户输入顺序的数组(这一步预设代码已给出)
再输出反转后的数组(输出格式为Arrays.toString(arr),参考预设代码中的输出格式)

示例:

输入:52 10  37 40 60 83

输出:[52, 10, 37, 40, 60, 83]
	 [83, 60, 40, 37, 10, 52]

 

分析:

1.逆序输入。

 

代码:

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[6];
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
            arr[i] = scanner.nextInt();
        }
        System.out.println(Arrays.toString(arr));

        int temp;
        for(int i=0;i<arr.length/2;i++){
           temp=arr[i];
           arr[i]=arr[arr.length-1-i];
           arr[arr.length-1-i]=temp;
        }


        System.out.println(Arrays.toString(arr));
    }
}

 
 

大佬代码:

使用双指针。

import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        int[] arr = new int[6];
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
            arr[i] = scanner.nextInt();
        }
        System.out.println(Arrays.toString(arr));
        int left = 0, right = arr.length - 1; //双指针从首尾开始
        while(left < right){
            int temp = arr[left]; //交换指针元素
            arr[left] = arr[right];
            arr[right] = temp;
            left++;  //指针向中间靠
            right--;
        }
        System.out.println(Arrays.toString(arr));
    }
}

 
 
 

JAVA18 二维数组求和

描述
给定一个二维数组,请你编写一个求和函数,计算出这个数组元素的和。
 
输入描述:

 
输出描述:
输出二维数组元素的和。

示例:

输入:无
输出:5180

 

分析:

1.直接两次for循环取出二维数组的各个值,再求和。

 

代码:

public class Main {
    public static void main(String[] args) {
        int[][]  arr = {{11,33,55},{22,44,66,88},{131,214,315,146},{928,827,726,625},{424,525}};
        int sum=add(arr);
        System.out.println(sum);
    }

    public static int add(int[][] arr) {
        int sum=0;

        for(int i=0;i<arr.length;i++){
            for(int j=0;j<arr[i].length;j++){
                sum+=arr[i][j];
            }
        }
        

        return sum;
    }
}

 
 

大佬代码:

两层foreach 遍历二维数组求和

public static int add(int[][] arr) {
    int sum=0;
 
     
    for(int[] arr1 : arr){
        for(int arr2 : arr1){
            sum = sum + arr2;
        }
    }
 
    return sum;
}

网站公告

今日签到

点亮在社区的每一天
去签到