黑马程序员技术交流社区

标题: 关于华为的一道笔试题 [打印本页]

作者: hanrongle    时间: 2013-8-6 22:42
标题: 关于华为的一道笔试题
         【题号】1
【级别】中级
【验证】正确
【题目】写一段代码建立一个直角在左下角的等腰直角三角形的二维数组,腰的长度是10,数组元素是String,需要赋初始值为(x,y),其中x,y为坐标的位置,从左下角为顶点(0,0),依次向上向右增加1。程序片断如下,请填空:
  1. String[][]trg =    1
  2. for(int i=   2    ;  i)=0;i-)
  3. {
  4. trg[i]=     3    ;
  5. for(int j=0; j〈      4         ; j++)
  6. {
  7. trg[i][j]=        5       ;
  8. }
  9. }
  10. for(int i=9;i)0;i–){
  11. for(int j=0;j《trg[i],length;j++){
  12. System.out.print(trg[i][j]);
  13. }
复制代码
【参考答案】
1、new String[10][]
2、9
3、new STRING[10-I]
4、trg.length
5、“(”+|i+”.”+j+”) ”

搞不懂啊,是什么意思?





作者: 逆袭的风    时间: 2013-8-6 23:23
首先,楼主代码有一些小问题,我给你改过之后如下(已填补)具体参考注释
  1. class  Arr
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String[][] trg=new String[10][];//定义一个10行的二维数组
  6.                 for(int i=9;i>=0;i--)//外层循环控制总行数为10
  7.                 {
  8.                         trg[i]=new String[10-i];//定义每行的一位数组的长度
  9.                         for(int j=0;j<trg[i].length;j++)//内层循环控制每一行的个数,trg[i].length为每一行数组长度
  10.                         {

  11.                                 trg[i][j]="("+i+"."+j+")";//具体定义每一个元素
  12.                         }
  13.                 }
  14.                 for(int i=9;i>=0;i--)//打印数组
  15.                 {
  16.                         for(int j=0;j<trg[i].length;j++)
  17.                         {
  18.                                 System.out.print(trg[i][j]);
  19.                         }
  20.                         System.out.println();
  21.                 }
  22.         }
  23. }
复制代码
运行结果如图

Unnamed.png (103.64 KB, 下载次数: 10)

Unnamed.png

作者: 黄兴旺    时间: 2013-8-7 01:18
哇哇  不错




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