A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨胜男 中级黑马   /  2014-6-7 21:37  /  1102 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class ArrayTest  
{class ArrayTest  {
        public static void main(String[] args)
        {
                //System.out.println("Hello World!");
                int[] arr = {1,14,15,16};
                getMin(arr);
                System.out.println(arr[0]);
        }

       
        }
        public static void getMin(int[] arr)
        {
                int min = 0;
                for(int x=0; x<arr.length; x++)
                {
                        if(arr[x]<=arr[min])
                                min = x;
                                min=0;
                }
                System.out.println(arr[1]);
        }

}
//一个问题,打印最小值的时候总是显示14,换过好几轮,只要是从小到大顺序的数组,总是打印第二个数

5 个回复

正序浏览
王琪 发表于 2014-6-7 21:57
我可能没理解您的问题;
我想到一个排序方法

问题解决了
回复 使用道具 举报
  if(arr[x]<=arr[min])
                                min = x;
                                min=0;

你这么排序 有问题啊,搞不懂你为什么这么写 逻辑也很乱
回复 使用道具 举报
在getMin方法中去掉min=0;,打印的时候System.out.println(arr[min]);
回复 使用道具 举报
我可能没理解您的问题;
我想到一个排序方法
  1. public class java  {
  2.         public static void main(String[] args)
  3.         {
  4.                 //System.out.println("Hello World!");
  5.                 int[] arr = {1,14,15,16};
  6.                 getMin(arr);
  7.                 System.out.println(arr[0]);
  8.                 paixu(arr);
  9.         }

  10.         public static void getMin(int[] arr)
  11.         {
  12.                 int min = 0;
  13.                 for(int x=0; x<arr.length; x++)
  14.                 {
  15.                         if(arr[x]<=arr[min])
  16.                                 min = x;
  17.                                 min=0;
  18.                 }
  19.                 System.out.println(arr[min]);
  20.         }

  21.         public static void paixu(int[] arr){
  22.                 int min;
  23.                 for(int i=0 ;i<arr.length-1 ;i++ ){
  24.                    for(int j=i+1 ;j<arr.length ;j++ ){
  25.                          if(arr[j]<arr[i]){
  26.                             min=arr[j];
  27.                             arr[j]=arr[i];
  28.                             arr[i]=min;         
  29.                           }
  30.                    }
  31.                 }
  32.                 for(int i=0 ;i<arr.length ;i++ ){
  33.                         System.out.print("从小到大排序"+arr[i]);
  34.                 }
  35.                 System.out.println();
  36.         }

  37. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
System.out.println(arr[min]);试试
  1. public class java  {
  2.         public static void main(String[] args)
  3.         {
  4.                 //System.out.println("Hello World!");
  5.                 int[] arr = {1,14,15,16};
  6.                 getMin(arr);
  7.                 System.out.println(arr[0]);
  8.         }

  9.         public static void getMin(int[] arr)
  10.         {
  11.                 int min = 0;
  12.                 for(int x=0; x<arr.length; x++)
  13.                 {
  14.                         if(arr[x]<=arr[min])
  15.                                 min = x;
  16.                                 min=0;
  17.                 }
  18.                 System.out.println(arr[min]);
  19.         }

  20. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马