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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 帅气的冬瓜 中级黑马   /  2013-12-1 15:17  /  1419 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 帅气的冬瓜 于 2013-12-1 18:53 编辑

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ft {
public static void main(String[] args) throws Exception{
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  int []a=new int[4];
  int max=a[0],min=a[0];
  for(int i=0;i<a.length;i++)
  {
   
    System.out.print("请输入第"+(i+1)+"个数:");
    a=Integer.parseInt(br.readLine());
  
  }
  for(int i=0;i<a.length;i++)
  {
   if(a>max)
      max=a;
   }
  for(int i=0;i<a.length;i++)
  {
   if(a<min)
      min=a;
   }
  System.out.println("最大值为:"+max+"zuixiozhi"+min);
}
}
//为何最小值为0 呢?怪事



评分

参与人数 1技术分 +1 黑马币 +6 收起 理由
枫儿 + 1 + 6 神马都是浮云

查看全部评分

4 个回复

倒序浏览
a[0]初始化时是零,所以你的值就一直是零了,如果没有负数的话,修改办法是在输入玩数据的for循环后面加上max=a[0],min=a[0];

评分

参与人数 1黑马币 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 帅气的冬瓜 于 2013-12-1 18:24 编辑

转不过来了   麻烦点一下  不知道楼上运行没有

回复 使用道具 举报
本帖最后由 天ya~_琼楼 于 2013-12-1 18:47 编辑

你在定义了数组之后,还没有添加元素,数组为空,这是时你就定义了max=a[0],min=a[0],因此他们的值都为默认的0。
尽管你在后边又给数组添加了元素, a[0] 被赋予了新的值,但是max、min已经赋值为0了,在重新赋值之前是不会变的。也就是说max=a[0],min=a[0]是赋值,而不是定义方法让max、min的值随着a[0]的值变化而变化。
想要把max、min的初始值为数组里的数,可在给数组添加完元素之后在进行初始化max=a[0],min=a[0]操作。
修改后代码如下:
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. public class T1 {
  5. public static void main(String[] args) throws Exception{
  6.   BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  7.   int []a=new int[4];

  8.   for(int i=0;i<a.length;i++)
  9.   {
  10.    
  11.     System.out.print("请输入第"+(i+1)+"个数:");
  12.     a[i]=Integer.parseInt(br.readLine());
  13.   
  14.   }
  15.   int max=a[0],min=a[0];//修改此处,将其移至添加完元素的后边
  16.   for(int i=0;i<a.length;i++)
  17.   {
  18.    if(a[i]>max)
  19.       max=a[i];
  20.    }
  21.   for(int i=0;i<a.length;i++)
  22.   {
  23.    if(a[i]<min)
  24.       min=a[i];
  25.    }
  26.   System.out.println("最大值为:"+max+"zuixiozhi"+min);
  27. }
  28. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
谢了  兄弟   迷了一下午了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马