黑马程序员技术交流社区

标题: 数组 [打印本页]

作者: 赶路要紧    时间: 2015-5-14 12:37
标题: 数组
针对这样的一个数组,输出来的结果只有为什么只有8个值,难道没有遍历完吗??

public static void main(String[] args) {
                // TODO Auto-generated method stub
                int [][] arr={{2,8,-6,-5},{5,-9},{8,-7,6,-9,0}};//自定义一个二维数组;
                int min=2;
                for(int i=0;i<arr.length;i++){
                        for(int j=0;j<arr[i].length;j++){
                       
                        int x=arr[i][j];
                        if(x<min){
                                min=x;
                        }
                       
                                System.out.println(min);
                        }
                       
作者: 杨春雨    时间: 2015-5-14 13:31
  1. public static void main(String[] args) {
  2.                 int[][] arr = { { 2, 8, -6, -5 }, { 5, -9 }, { 8, -7, 6, -9, 0 } };// 自定义一个二维数组;       
  3.                 for (int i = 0; i < arr.length; i++) {       
  4.                         for (int j = 0; j < arr[i].length; j++) {
  5.                                 //定义这个值应该在这定义 要不然每次这个值会不一样
  6.                                 int min = 2;
  7.                                 int x = arr[i][j];
  8.                                 if (x < min) {
  9.                                         min = x;
  10.                                         //输出放在这里可以输出比2小的值
  11.                                         //System.out.print(min+"|");
  12.                                 }       
  13.                                 //输出放在这里输出2或者比2小的值
  14.                                 System.out.print(min+"|");
  15.                         }
  16.                 }
  17.         }
复制代码

我实在看不明白楼主是想要输出什么?难道是输出比2小的值吗?如果是这样的话看我的代码  至于结果看图片 肯定是11个

QQ截图20150514133114.png (4.9 KB, 下载次数: 8)

QQ截图20150514133114.png

作者: 赶路要紧    时间: 2015-5-14 13:51
杨春雨 发表于 2015-5-14 13:31
我实在看不明白楼主是想要输出什么?难道是输出比2小的值吗?如果是这样的话看我的代码  至于结果看图片  ...

恩恩,谢了,我自己没有仔细看,其滚动条滚到末尾去了,显示了只有8个值去了,想了一上午都没有想出来。。
作者: 赶路要紧    时间: 2015-5-14 13:52
杨春雨 发表于 2015-5-14 13:31
我实在看不明白楼主是想要输出什么?难道是输出比2小的值吗?如果是这样的话看我的代码  至于结果看图片  ...

非常感谢楼主,不然我还要继续想下去。。
作者: 白水丶    时间: 2015-5-14 14:09
不明白这是要干嘛
作者: 冷月霜飞    时间: 2015-5-14 17:15
深有同感呢
作者: ytooo00    时间: 2015-5-14 17:33
学习了。。。
作者: xingfeichen    时间: 2015-5-14 17:59
  1. package com.tute313.image;

  2. public class Demo {
  3.         public static void main(String[] args) {
  4.     // TODO Auto-generated method stub
  5.     int [][] arr={{2,8,-6,-5},{5,-9},{8,-7,6,-9,0}};//自定义一个二维数组;
  6.     int min=2;
  7.     for(int i=0;i<arr.length;i++){
  8.             for(int j=0;j<arr[i].length;j++){                           
  9.                     int x=arr[i][j];
  10.                     if(x<min){//min的值只会被赋值为2,-6,-9,因为根据楼主的写法,
  11.                                   //读数组时按顺序读的,所以当读到-9后就没有比-9更小的数了
  12.                     min=x;
  13.                     }
  14.             
  15.                     System.out.println(min);//打印的是min,所以只能打印min能够取到的值
  16.             }
  17.             }
  18.         }

  19. }
复制代码
  1. 2
  2. 2
  3. -6
  4. -6
  5. -6
  6. -9
  7. -9
  8. -9
  9. -9
  10. -9
  11. -9
复制代码

作者: xingfeichen    时间: 2015-5-14 18:00
xingfeichen 发表于 2015-5-14 17:59

后面的是结果,没错呀,但是同学,你写这个代码的目的是??
作者: 代码搬运1号    时间: 2015-5-14 18:43
学到了。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2