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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 完美恋爱 高级黑马   /  2013-10-26 10:52  /  637 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo
{
        public static void main(String[] args)
        {
                array();
        }

        public static void array()
        {
                int[] arr = new int[]{1,2,3,4,5,6};

                for(int x = 0; x < y; x++)
                {
                        System.out.println("arr["+x+"]"+"="+arr[x]);
                }
        }
}
错误提示是:无法将 Demo 中的 array(int) 应用于 ()
                     array();
请问这段代码哪里有错误啊?

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

9 个回复

倒序浏览
错误我发现了,谁能解释一下这个错误提示是什么意思?
回复 使用道具 举报
class Demo {
        public static void main(String[] args) {
                array(6);
        }

        public static void array(int y) {
                int[] arr = new int[] { 1, 2, 3, 4, 5, 6 };

                for (int x = 0; x < y; x++) {
                        System.out.println("arr[" + x + "]" + "=" + arr[x]);
                }
        }
}
你好,你代码主要错误:没有定义int y;这个变量。
解决方法有三种:
1,在arry(){}方法体内定义y变量定义初始化数组。
2,在arry(int y){}方法中定义一个int类型参数,在main函数中调用该arry(6)方法中传入形参.
3,在arry(){}方法体内中的
for (int x = 0; x < 6; x++) {
System.out.println("arr[" + x + "]" + "=" + arr[x]);
}
x变量小于一个整数,也就是说把y变量去掉,定义一个整数常量。

希望对你有帮助。

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
你那个for循环条件中的y是多少?首先你没有给y一个具体的值,x<y就没法判断条件到底成不成立,就无法进入循环。或者你可以把y改成arr.length表示数组长度。for循环条件满足了,就打印输出数组中的每个元素的值,肯定就不会报错了...
回复 使用道具 举报
1961993790 发表于 2013-10-26 11:04
class Demo {
        public static void main(String[] args) {
                array(6);

谢谢你的详细解答,那请问知道错误提示是什么意思吗?
回复 使用道具 举报
错误提示为:y cannot be resolved to a variable (意思就是说:y是一个不能被解决的变量)。
学习编程,英语很重要,希望能帮助你。
回复 使用道具 举报
1961993790 发表于 2013-10-26 12:35
错误提示为:y cannot be resolved to a variable (意思就是说:y是一个不能被解决的变量)。
学习编程,英 ...

不是那个提示,是这个,请看:
错误提示:无法将 Demo 中的 array(int) 应用于 ()
               array();
回复 使用道具 举报
完美恋爱 发表于 2013-10-26 13:18
不是那个提示,是这个,请看:
错误提示:无法将 Demo 中的 array(int) 应用于 ()
               array( ...

意思就是说:这个array(int y){}方法中应该定义一个变量;
显然你传递参数的时候括号中只定义了int 类型而没有变量这样直接导致
编译错误。如果还没有讲清楚可以加我qq:1961993790
回复 使用道具 举报
1961993790 发表于 2013-10-26 13:25
意思就是说:这个array(int y){}方法中应该定义一个变量;
显然你传递参数的时候括号中只定义了int 类 ...

了解啦!thank you!
回复 使用道具 举报
起猿 中级黑马 2013-10-26 13:57:18
10#
其实你这个错误提示的意思就是说在无法array()无法调用Demo类中array(int)方法。实际上按你这个程序来讲。因该提示的错误是在Demo类中找不到变量y。是因为你程序中用到了变量y却没有给y定义变量类型。规范点的话,还要初始化值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马