黑马程序员技术交流社区

标题: 关于二维数组问题 [打印本页]

作者: 乔攀    时间: 2012-11-28 11:55
标题: 关于二维数组问题
本帖最后由 乔攀 于 2012-11-28 14:16 编辑

//需求:求二维数组内的元素小于60那么就打印这一组的元素


class Demo
{
        public static void main(String [] args)
        {
                double[][] score = {{87.5, 93.5, 68}, {82.5, 90, 80.5}, {36, 48, 92.5}, {92.5, 58, 73.5}};
                cha(score);
               
        }
        public static double [] []cha(double [][]score)
        {
        
                for (int i=0;i<score.length ;i++ )//外面的元素
                {
                        for (int j=0;j<score.length ;j++ )//里面的元素
                        {
                                if (j<60)
                                {
                                        System.out.println(score);
                                }
                        }
                        
                }
                return score;        
        }

}
我打印出来的都是地址值  这是为什么?求解答,并怎样修改





作者: 黑马-王宁    时间: 2012-11-28 12:30
class Demo
{
        public static void main(String [] args){
                double[][] score = {{87.5, 93.5, 68}, {82.5, 90, 80.5}, {36, 48, 92.5}, {92.5, 58, 73.5}};
                cha(score);
        }
        public static void cha(double[][] score){
                for (int i=0;i<score.length ;i++ ){ //外面的元素
                        for (int j=0;j<score[i].length ;j++ ){//里面的元素
                                if (score[i][j] < 60){
                                        System.out.println(score[i][j]);
                                }
                        }        
                }
                //  return score;        
        }
}
作者: 付莹    时间: 2012-11-28 13:58
[ 本帖最后由 付莹 于 2012-11-28 14:16 编辑 ]\n\nSystem.out.println(score);score表示二维数组中第i个j维数组。内存中指向第i个j维数组的地址。
因此打印的都是地址值。需改为score[i][j]表示数组中的值。指向第[i][j]元素。
if(score[i][j]<60)
{system.out.print(socre[i][j]);}

二维数组.png (11.77 KB, 下载次数: 27)

二维数组.png





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