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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李前进 中级黑马   /  2014-3-18 23:31  /  884 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.io.IOException;

  4. public class Compare
  5. {
  6.     public static void main(String[] args)
  7.     {
  8.          BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  9.                  int []a=new int[3];
  10.                  int min=a[0],max=a[0];

  11.          for(int i=0;i<a.length;i++)
  12.          {
  13.                   try
  14.                   {
  15.                           System.out.print("请输入第"+(i+1)+"个数:");
  16.                           a[i]=Integer.parseInt(br.readLine());
  17.                   }
  18.                   catch (IOException e)
  19.                   {   
  20.                           e.printStackTrace();
  21.                   }
  22.       }
  23.          
  24.          for(int i=0;i<a.length;i++)
  25.          {
  26.                  if(a[i]>max)
  27.                  {
  28.                          max=a[i];
  29.                  }   

  30.                  if(a[i]<min)
  31.                  {
  32.                          min=a[i];
  33.                  }
  34.          }

  35.          System.out.println("最大值为:"+max+"\n最小值为:"+min);

  36.     }
  37. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

4 个回复

倒序浏览
应该加max=arr[0]; min=arr[0];可是为什么呢?谁给解释一下?       
回复 使用道具 举报
因为数组在初始化的时候全是0,所以你的min = a[0]一开始的值就是0,如果输入的数没有比0小的,最小值就是0.

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报 1 0
乔钰博 发表于 2014-3-18 23:46
因为数组在初始化的时候全是0,所以你的min = a[0]一开始的值就是0,如果输入的数没有比0小的,最小值就是0 ...

明白了。
回复 使用道具 举报
如果,你输入一堆负数,那么你又会问为什么最大值怎么一直是0
应该把max、min的初始化值的位置放在数组已经有值的地方,放到下面就好了

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马