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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 zclove898 于 2012-2-19 16:04 编辑

帮忙看看我的这个九九乘法表哪里出问题了,运行了好几遍,就是出不了正三角形状,都郁闷了
public class Chen
{
        public static void main(String args[])
        {
        int x,y;
        for(x=1;x<=9;x++)
        {
           for(y=1;y<=x;y++)
              System.out.print(y+"*"+x+"="+y*x+"\t");
        }
        System.out.println();
        }
}

评分

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

查看全部评分

8 个回复

正序浏览
激动。。。终于可以解决别人不会的问题了。。。
回复 使用道具 举报
谢谢大家,问题解决
回复 使用道具 举报
彭坤 发表于 2012-2-19 13:49

可以了,谢谢了
回复 使用道具 举报
本帖最后由 H07000223 于 2012-2-19 15:22 编辑

嵌套的在内部的for循环丢掉的括号加起来就ok了!!!
int x, y;
for (x = 1; x <= 9; x++)
{
        for (y = 1; y <= x; y++){               
                      System.out.print(y + "*" + x + "=" + y * x + "\t");
        }       
                System.out.println("\n");
}

评分

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

查看全部评分

回复 使用道具 举报
System.out.println();放错位置了,应该放在上一个}内部。
并且定义变量x,y时应该定义在for循环条件内部,这样节省内存空间,因为是临时变量,用完就回收了。

正确的应该是这样的:
  1. class  Chen
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int x=1;x<=9;x++)
  6.                 {
  7.                         for(int y=1;y<=x;y++)
  8.                         {
  9.                         System.out.print(x+"*"+y+"="+(x*y)+"\t");
  10.                         }
  11.                         System.out.println();
  12.                 }
  13.         }
  14. }
复制代码

评分

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

查看全部评分

回复 使用道具 举报
  1. public class Chen {
  2.         public static void main(String args[]) {
  3.                 int x, y;
  4.                 for (x = 1; x <= 9; x++) {
  5.                         for (y = 1; y <= x; y++){
  6.                                 System.out.print(y + "*" + x + "=" + y * x + "\t");
  7.                         }
  8.                         System.out.println();//你的换行语句放错了地方,完成一次循环后,换行
  9.                 }
  10.         }
  11.        
  12. }
复制代码

评分

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

查看全部评分

回复 使用道具 举报
public class Chen
{
        public static void main(String args[])
        {
        int x,y;
        for(x=1;x<=9;x++)
        {
           for(y=1;y<=x;y++)
              System.out.print(y+"*"+x+"="+y*x+"\t");
              System.out.println(); //空行要放到这里才行
        }
        //System.out.println();  把这行代码要放到第二个for循环里面
        }
}

评分

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

查看全部评分

回复 使用道具 举报
小问题,我把正确的代码给你,这应该就是你要的结果
                        int x,y;
                        for(x=1;x<=9;x++)
                        {
                           for(y=1;y<=x;y++){
                              System.out.print(y+"*"+x+"="+y*x+"\t");
                           }
                           System.out.println();
                        }
                        System.out.println();

评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马