找出一个数组中既不是最大数也不是最小的数

class NotMM{
	public void NotMM(int arr[]){
		int mid = arr[0];
		for(int i=0;i<arr.length-2;i++){
			if(arr[i+1]>arr[i]&&arr[i+1]<arr[i+2]){
				mid = arr[i+1];
			}else if(arr[i+1]<arr[i]&&arr[i+1]>arr[i+2]){
				mid = arr[i+1];
			}else if(arr[i]<arr[i+1]&&arr[i]>arr[i+2]){
				mid = arr[i];
			}else if(arr[i]>arr[i+1]&&arr[i]<arr[i+2]){
				mid = arr[i];
			}else{
				mid = arr[i+2];
			}
			System.out.println(mid);
		}
	}
}

public class Ex1_4 {
	public static void main(String[] args) {
		NotMM m = new NotMM();
		int arr[] = new int[]{2,4,6,1,7,5,3,8};
		m.NotMM(arr);
	}
}

如上代码错误,请大侠帮忙改正解决,谢谢!

亚努人
浏览 2862回答 4
4回答

慕大叔

import java.util.Arrays;   public class HelloWorld {     public static void main(String[] args) {         int[] arry1 = { 1, 1, 1, 4, 2, 3, 3, 7, 10};           Arrays.sort(arry1);         for(int i=1;i<arry1.length-1;i++)         {             System.out.println(arry1[i]);         }     }  }

英语技能

为什么不先给数组排序,然后去掉和头尾相等的元素再输出呢?

Ricky_hrm

排序,然后输出minIndex和maxIndex之间的数字

一条小咸鱼

import java.util.Arrays; public class HelloWorld {     public static void main(String[] args) {         int[] arry1 = { 1, 1, 1, 2, 3, 3, 3, 7, 10, 3, 3, 3, 3, 3 };         Arrays.sort(arry1);         System.out.println(Arrays.toString(arry1));         for (int i : arry1) {             if (i == arry1[0] || i == arry1[arry1.length - 1]) {                 continue;             }             System.out.print(i + " ");         }         System.out.println();     } }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java