- class Demo4
- {
- public static void main(String[] args)
- {
- int arr[] = {4,3,5,9,6,8,9,2,1,7,11,15,18,15,16,19};
- int temp;
- int x,y;
- if(arr[0]>arr[1])
- {
- x=arr[0];
- y=arr[1];
- }
- else
- {
- x=arr[1];
- y=arr[0];
-
- }
- for (int i=2; i<arr.length/*数组长度,保证角标索引i的值不会越界。*/; i++)
- {
- if(arr[i]>y)//arr[i]>y>x
- {
- x=y;
- y=arr[i];
- }
- else if(arr[i]<y&&arr[i]>x)//y>arr[i]>x
- {
- x=arr[i];
- }
- else//arr[i]=y,arr[i]=x,y>x>arr[i]这些情况
- {
- }
- }
- System.out.println("数组中第二大的元素为:"+x);
- }
- }
复制代码
这样遍历一遍就出结果了,而且可以排除相同值元素影响,效率应该比你那个要高点。 |