本帖最后由 holoyisme 于 2009-10-27 15:16:51 编辑

解决方案 »

  1.   

    public class min {
        public static void main(String args[]){
            int[] a = new int[]{9,8,7,6,5,4,3,2,1};
            int minNum = a[0]; //默认第一个元素是最小值
             for(int i=1;i<a.length;i++)
            {
                 if(minNum>a[i])
                 {
                    minNum=a[i];//如果最小值大于后边的元素,就从新赋值
                 }
            }
            System.out.println("最小值为:"+minNum);
            }
    }
      

  2.   


    public static void main(String args[]){
                int[] a ={29,1,9,8,55,33,5,4,3,20,11};
                Arrays.sort(a);
                System.out.println("最小值为:"+a[0]);
                }
      

  3.   

    其实我感觉初学者最容易想到的办法是设置一个变量min,先把min赋值为数组第一个元素,比如array[0],然后for循环遍历数组,如果array[i]比min小的话,那么替换min的值。
      

  4.   

    public static void main(String[] args) throws Exception {
            int[] intArray = {8, 2, 1, 6, 7, 9, 4, 1};
            
            int min = intArray[0];
            
            for(int i : intArray){
             if(i < min)
             min = i;
            }
            
            System.out.println(min);
        } 
      

  5.   

    我也这么用。
    排序的话Arrays,用Arrays.sort()
    容器啥的,用Collections.sort()
      

  6.   

    楼主怎么把 return放while循环里面啊
      

  7.   


    刚注意lz的代码……
    return放while里……一进入while程序就结束了……
      

  8.   


    不只是while结束,整个程序都结束了
      

  9.   

            int i=0,j=1;
            while(j!=a.length){
             if(a[i]>a[j]&&i<a.length&&j<a.length){
             i=j;
             j++;
             }else if(a[i]<a[j]&&i<a.length&&j<a.length){
             j++;
             }
            
            }
            System.out.println(a[i]);楼主可以试试这个代码。
      

  10.   

    额……尝试了一下,实在无法用lz的思路继续下去……
    public static void main(String[] args) {
    int[] a = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
    int i = 0, j = 1;
    while (i < a.length && j < a.length) {
    if (a[i] < a[j])
    j++;
    else if (a[i] > a[j]) {
    i = j;
    j++;
    }
    }
    System.out.println(a[i]);
    }在优化改改那看上去就变下面这样,就连一点像的地方都没有了…… public static void main(String[] args) {
    int[] a = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
    int i = 0, j = 1;
    while (i < a.length && j < a.length) {
    if (a[i] > a[j])
    i = j;
    j++;
    }
    System.out.println(a[i]);
    }
      

  11.   

    public static void main(String[] args) {
    int[] a = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
    int i = 0, j = 1;
    while (i < a.length && j < a.length) {
    if (a[i] < a[j]) {
    j++;
    while (i < a.length && j < a.length && a[i] > a[j]) {
    i = j;
    j++;
    } } else if (a[i] > a[j]) {
    i = j;
    j++;
    while (i < a.length && j < a.length && a[i] < a[j]) {
    j++;
    } }
    }
    System.out.println(a[i]);
    }hmmm,重来了一次,这样还是基本按照lz的思路去做的……
      

  12.   

    恩,很多都是慢慢熟悉起来的,记得当初Hello World就跑了很久~~