java数组求最大值

java数组求最大值,第1张

//数组为arr

int max_num = arr[0];

for (int a : arr) {

max_num = Mathmax(max_num, a);

}

import javautilArrays;

public class Test {

public static void main(String[] args) {

//初始化一个测试的二维数组

int[][] a = new int[][] { { 34,234,543,2,42,224 }, { 234,56,88,241,564,234,555,24 }, { 13,444,534,76,9999,894,34 } };

Systemoutprintln("max value is:" + getMaxValue1(a));

Systemoutprintln("max value is:" + getMaxValue2(a));

}

/

方法1:遍历二维数组的所有的元素与当前最大的值比较,并记录

/

static int getMaxValue1(int[][] a){

int maxValue = 0;//用于记录当然最大值

if(a!=null && alength!=0)

for (int[] a1 : a) {

for (int i : a1) {

if(maxValue<i)maxValue = i;

}

}

return maxValue;

}

/

方法2:对子数组进行排序,然后比较子数组中最大的值。当然这里只求最大值也没必要排序-_-!!,只是体现了一种思想

/

static int getMaxValue2(int[][] a){

int maxValue = 0;

if(a!=null && alength!=0)

for (int[] a1 : a) {

Arrayssort(a1);//对a1进行排序,升序的

if(maxValue<a1[a1length-1])maxValue = a1[a1length-1];//比较子数组中最大的值

}

return maxValue;

}

}

java中随便定义一个数组时,需要先排序之后,然后输出最大最小值,可以使用sort类进行排序,实例如下:

public class ArrDemo{ public static void main(String[] args){ new ArrDemo()getPrint(); } private int[] getPrint(){ javautilScanner sc = new javautilScanner(Systemin); try{ Systemoutprintln("请输入数组的个数。"); int[] arr = new int[scnextInt()]; for(int i = 0; i < arrlength; i++){ Systemoutprintln("请输入第"+(i+1)+"个数。"); arr[i] = scnextInt(); } getArr(arr); }catch(Exception e){ Systemerrprintln("对不起,您输入的不是数字。"); } } private void getArr(int[] arr){ int sum = 0; javautilArrayssort(arr); for(int i = 0;i < arrlength; i++){ sum += arr[i]; } Systemoutprintln("最大值是:"+arr[arrlength-1]); Systemoutprintln("最小值是:"+arr[0]); Systemoutprintln("和是:"+sum); }}

public class Main {

public static void main(String[] args) {

Scanner in = new Scanner(Systemin);

Systemoutprintln("输入数组长度");

int len = innextInt();

int[] nums = new int[len];

for (int i = 0; i < len; i++) {

nums[i] = innextInt();

}

Systemoutprintln("输入的数组为:");

for (int i = 0; i < len; i++) {

Systemoutprint(nums[i]);

if (i != len - 1) {

Systemoutprint(",");

}

}

Systemoutprintln("数组最大值为:");

int max = nums[0];

for (int i = 0; i < len; i++) {

if(nums[i] > max){

max = nums[i];

}

}

Systemoutprintln(max);

}

}

思路:首先对数组降序排序,然后取其第一个和第二个元素就可以实现。

代码如下:

public class BigNumber {

    public static void main(String[] args) {

        // 定义数组

        int[] arrayInt = { 7, 2, 6, 5, 3, 4 };

        // 排序

        for (int i = 0; i < arrayIntlength - 1; i++) {

            for (int j = 0; j < arrayIntlength - i - 1; j++) {

                if (arrayInt[j] < arrayInt[j + 1]) {

                    int temp = arrayInt[j];

                    arrayInt[j] = arrayInt[j + 1];

                    arrayInt[j + 1] = temp;

                }

            }

        }

        // 最大值

        int maxNum = arrayInt[0];

        // 次大值

        int secondNum = arrayInt[1];

        Systemoutprintln(maxNum + "," + secondNum);

    }

}

运行结果:

以上就是关于java数组求最大值全部的内容,包括:java数组求最大值、java 求二维数组的最大值!!、java求数组中最大值最小值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9870097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存