黑马程序员技术交流社区

标题: 第三天 [打印本页]

作者: 宋启龙    时间: 2012-8-14 07:48
标题: 第三天
public static void jj(int x)
        {
        for (x=0;x<=9;x++)
                {
                        for (e=0;e<=x;e++)
                        {
                        System.out.print(x+"*"+e+"="+x*e+"\t");
                        }
                System.out.println();
                }
        }
一  在函数JJ里为什么找不到变量e??    在主函数因用时     aa();    hh();         这个空括号的的类型是否要一致??
作者: 宋启龙    时间: 2012-8-14 07:49
class  aa
{
        public static void main(String[] args)
        {       
                bb(7,7);
                aa();
                hh();
                bb(6,6);
                cc(100);
                aa();
                int x=jb(1,2);
                int y=jb(1,2,3);
                System.out.println(x+""+y);
                aa();
                jj(9);
        }
               
                public static void bb(int a,int b)
        {       
                for(int x=0;x<a;x++)
                {
                        for(int y=0;y<b;y++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
               
        }
        public static void aa()
        {
                System.out.println("---------------");
        }
        public static void hh()
        {
                System.out.println("-------");
        }
        public static void cc(int a)
        {        int he=0;
                {for(int x=0;x<=a;x++)
                        he=x+he;
                }
               
                System.out.println(he);
                }
        public static int jb(int x,int y)
        {
                return x+y;
        }
        public static int jb(int x,int y,int c)
        {
                return x+y*c;
        }
        public static void jj(int x)
        {
        for (x=0;x<=9;x++)
                {
                        for (e=0;e<=x;e++)
                        {
                        System.out.print(x+"*"+e+"="+x*e+"\t");
                        }
                System.out.println();
                }
        }
}
作者: 王舜民    时间: 2012-8-14 08:06
public static void jj(int x)   //
        {
        for (x=0;x<=9;x++)
                {
                        for (e=0;e<=x;e++)//for(初始化表达式;循环条件表达式;循环后的表达式),你这边e算是初始化过了吗?没有,应该是int e;
                        {
                        System.out.print(x+"*"+e+"="+x*e+"\t");
                        }
                System.out.println();
                }
        }
也可以写成
public static void jj(int x)   //
        {
        for (x=0;x<=9;x++)
                {
                        int e=0;
                        for (e=0;e<=x;e++)//for(初始化表达式;循环条件表达式;循环后的表达式),你这边e算是初始化过了吗?没有,应该是int e;
                        {
                        System.out.print(x+"*"+e+"="+x*e+"\t");
                        }
                System.out.println();
                }
        }


作者: 张立江    时间: 2012-8-14 08:08
e要定义下 改成int e=0 就可以了
作者: 黑马张旭明    时间: 2012-8-14 08:24
这个是9*9乘法吗,e没定义,貌似应该从1而不是从0开始吧
作者: 张建峰    时间: 2012-8-14 09:42
你在函数中传入了x,但是没有定义或者传入e,所以能找到x,而调用e时找不到e
第二个问题:括号内的类型是要和定义的一致,括号内的是参数列表,要保持一致,否则会找不到函数
作者: 宋启龙    时间: 2012-8-14 12:05
谢谢  第二个问题不太清楚能详细点吗?
作者: 黑马_许芸    时间: 2012-8-14 12:34
本帖最后由 黑马_许芸 于 2012-8-14 12:35 编辑

public static void jj(int x)   //
        {
        for (x=0;x<=9;x++)
                {
                        for (e=0;e<=x;e++)//因为变量e定义在jj这个函数里面,e是个局部变量.所以需要将e 定义一个变量类型. 也即 int e =0;
{
                        System.out.print(x+"*"+e+"="+x*e+"\t");
                        }
                System.out.println();
                }
        }


对于第二个问题就是说,你的 jj(int x)这个函数的参数变量是int 类型的.所以在你的main函数中,只可以是int类型的.比如jj(5),而不能写成jj(5.0)
,否则就找不到了。

作者: 宋启龙    时间: 2012-8-14 16:07
谢谢以解决




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