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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© syusikoku 高级黑马   /  2014-3-12 09:11  /  975 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int[][] parameters = { { 112, 1, 15, 77, 29 }, { 33, 14, 27, 187 } };
取出每一个二维数组中的值,要打印成这样的效果:{ 112, 1, 15, 77, 29 }, { 33, 14, 27, 187 }
for (int x = 0; x < parameters.length; x++) {
        System.out.print("{");
        for (int j = 0; j < parameters[x].length; j++) {
        if (parameters[x][j] != (parameters[x].length - 1)) {
                System.out.print(parameters[x][j] + ",");
                }
        }
                System.out.print("}");
                }

    现在打印出来的结果是:{112,1,15,77,29,}{33,14,27,187,}请各位高手帮忙指点一二。小弟不胜感激。

评分

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

查看全部评分

5 个回复

倒序浏览
  1. public class ParamTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int[][]paramers= {{112,1, 15, 77, 29 }, {33, 14, 27, 187}};
  6.                 //方式一:
  7.                 for(int x=0;x<paramers.length;x++)
  8.                 {
  9.                         System.out.print("{");
  10.                         int len=paramers[x].length;
  11.                         for(int y=0;y<len;y++)
  12.                         {
  13.                                 if(y!=len-1)
  14.                                 {
  15.                                         System.out.print(paramers[x][y]+",");
  16.                                 }
  17.                                 else
  18.                                 {
  19.                                         System.out.print(paramers[x][y]);
  20.                                 }
  21.                         }
  22.                         System.out.print("}");
  23.                 }
  24.                 //方式二:
  25.                 for(int i=0;i<paramers.length;i++)
  26.                 {
  27.                         String temp="{";
  28.                         int len=paramers[i].length;
  29.                         for(int j=0;j<len;j++)
  30.                         {
  31.                                 temp+=paramers[i][j]+",";
  32.                         }
  33.                         temp=temp.substring(0,temp.length()-1);
  34.                         temp+="}";
  35.                         System.out.print(temp);
  36.                 }
  37.                
  38.         }
  39. }
复制代码

评分

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

查看全部评分

回复 使用道具 举报
你代码的打印结果应该是:{112,1,15,77,}{33,14,27,},因为每个一维数组的最后一位索引是(parameters[x].length - 1,你只是判断了,没有打印
每个一维数组之间的逗号打印也要处理下,代码如上:
public class Test{
    public static void main(String[] args){
        int[][] parameters = { { 112, 1, 15, 77, 29 }, { 33, 14, 27, 187 } };
          //取出每一个二维数组中的值,要打印成这样的效果:{ 112, 1, 15, 77, 29 }, { 33, 14, 27, 187 }
        for (int x = 0; x < parameters.length; x++) {
            System.out.print("{");
            for (int j = 0; j < parameters[x].length; j++) {
                if (j != (parameters[x].length - 1)) {
                System.out.print(parameters[x][j] + ",");
                }else{
                System.out.print(parameters[x][j]);
                }
            }
            if(x!=parameters.length-1){
                System.out.print("},");
            }else{
                System.out.print("}");
            }
        }
    }
}
打印结果是:{112,1,15,77,29},{33,14,27,187}

评分

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

查看全部评分

回复 使用道具 举报
我这样做可能有点繁琐了,但是不知道还有没有简单些的

class ArrDemo
{
        public static void main(String [] args)
        {
                int[][] parameters = { { 112, 1, 15, 77, 29 }, { 33, 14, 27, 187 } };
                //取出每一个二维数组中的值,要打印成这样的效果:{ 112, 1, 15, 77, 29 }, { 33, 14, 27, 187 }
                for (int x = 0; x < parameters.length; x++)
                {
                        System.out.print("{");
                        for (int j = 0; j < parameters[x].length; j++)
                        {
                                if (j == (parameters[x].length - 1))//使用j判断就可以了
                                                              
                                        System.out.print(parameters[x][j] );                                                         
                                else                         
                                        System.out.print(parameters[x][j]+"," );                                                     
                        }
                        if(x==parameters.length-1)
                                System.out.print("}");
                        else
                                System.out.print("},");
                        
                }
        }
                     
}

评分

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

查看全部评分

回复 使用道具 举报
  1. public class Demo {

  2.         public static void main(String[] args) {
  3.                 int[][] para={ { 112, 1, 15, 77, 29 }, { 33, 14, 27, 187 } };
  4.                 for(int x=0;x<para.length;x++){
  5.                         System.out.print("{");
  6.                         for(int y=0;y<para[x].length;y++){
  7.                                 if(y==(para[x].length-1)){
  8.                                         if(x==(para.length-1)){
  9.                                                 System.out.print(para[x][y]+"}");
  10.                                         }else{
  11.                                                 System.out.print(para[x][y]+"},");
  12.                                         }
  13.                                 }else{
  14.                                         System.out.print(para[x][y]+",");
  15.                                 }                               
  16.                         }       
  17.                 }
  18.         }

  19. }
复制代码

结果是你想要的

评分

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

查看全部评分

回复 使用道具 举报
恩。明白了。谢谢各位大神。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马