黑马程序员技术交流社区

标题: 看看我写的这个九九乘法表哪里出问题了 [打印本页]

作者: zclove898    时间: 2012-2-19 13:05
标题: 看看我写的这个九九乘法表哪里出问题了
本帖最后由 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();
        }
}
作者: 邱纲    时间: 2012-2-19 13:20
小问题,我把正确的代码给你,这应该就是你要的结果
                        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();
作者: 王康    时间: 2012-2-19 13:49
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循环里面
        }
}

作者: 彭坤    时间: 2012-2-19 13:49
  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. }
复制代码

作者: 孙汇川    时间: 2012-2-19 14:29
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. }
复制代码

作者: H07000223    时间: 2012-2-19 15:20
本帖最后由 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");
}
作者: zclove898    时间: 2012-2-19 16:04
彭坤 发表于 2012-2-19 13:49

可以了,谢谢了
作者: zclove898    时间: 2012-2-19 16:04
谢谢大家,问题解决
作者: 黑马连家华    时间: 2012-2-19 18:53
激动。。。终于可以解决别人不会的问题了。。。




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