//数组为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求数组中最大值最小值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)