(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;imax)
				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;imax){
				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;inum[max]){
				max=i;
			}
		}
		return num[max];
		
	}//定义函数返回最大值

}

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

 

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

你可能感兴趣的:(java)