(10.19)Java小作业

  在java的学习过程中数组的版块也是十分重要的,包括一些教程也会在这个知识点花上更多的时间来讲解,足以证明 这个知识点的重要性,今天想和大家分享一道学习数组过程中不可避免的求最值题。

  已知一个整形数组,求该数组的最大值:

  求最值是数组编程中十分重要的一环,具体的解题思路如下:

package max;


public class demo {

	public static void main(String[] args) {
		
		int[] num= {2,4,5,6,7,8};//定义一个数组
		int max = getmax(num);//调用函数
		System.out.println(max);//输出最大值
			
	}
	public static int getmax(int[] num) {
		int max = 0;
		for(int i=0;i<num.length;i++) {
			if(num[i]>max)
				max=num[i];
		}
		return max;
		
	}//定义函数返回最大值

}

  这是大多数刚刚开始学java的同学都会有的解题思路,但是当数组里的元素都为负数时,max=0便不再适用于该函数,这个时候便有了下面的解题方法:

package max;


public class demo {

	public static void main(String[] args) {
		
		int[] num= {-2,-4,-9,-6,-7,-8};//定义一个数组
		int max = getmax(num);//调用函数
		System.out.println(max);//输出最大值
			
	}
	public static int getmax(int[] num) {
		int max= num[0];//为max赋值
		for(int i=1;i<num.length;i++) {
			if(num[i]>max){
				max=num[i];
			}
		}
		return max;
		
	}//定义函数返回最大值

}

   一般遇到元素为负数时max=0将不再适用,大家都会换一种解题的思路,但是当max=0的时候有没有另外的一种解法呢?答案是肯定的,请看下面的解题思路:

package max;


public class demo {

	public static void main(String[] args) {
		
		int[] num= {-2,4,-9,-6,-7,-8};//定义一个数组
		int max = getmax(num);//调用函数
		System.out.println(max);//输出最大值
			
	}
	public static int getmax(int[] num) {
		int max=0;//将max定义为角标
		for(int i=1;i<num.length;i++) {
			if(num[i]>num[max]){
				max=i;
			}
		}
		return num[max];
		
	}//定义函数返回最大值

}

  其实上述的解题方法只不过是将max当成一个坐标来适用,这样就算max=0,程序也能完美的求出最大值,希望大家在java的学习之路上也能学会转化思考方式,懂得变通,这样才能学得更好,毕竟java博大精深,哈哈哈!

 

转载于:https://www.cnblogs.com/ziyihuang/p/7695101.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值