黑马程序员技术交流社区

标题: 求助 [打印本页]

作者: 史卫平    时间: 2011-8-30 08:07
标题: 求助
[code=java]public class test{
        public static void main(String[] args)
                {
                        add(2,3,5);
                }

        public static void add(int... args) {
                int s=0;
                for (int i=0;i<args.length;i++);
                {
                        s+=args;
                }
                System.out.println(s);
        }
}[/code]D:\>javac test.java
test.java:11: 找不到符号
符号: 变量 i
位置: 类 test
                        s+=args;


怎么回事
[ 本帖最后由 史卫平 于 2011-08-30  08:19 编辑 ]
作者: 史卫平    时间: 2011-8-30 08:16
原来文本复制的时候那个args方括号i方括号怎么没了,现在已经编辑成java代码的形式了
[ 本帖最后由 史卫平 于 2011-08-30  08:21 编辑 ]
作者: 匿名    时间: 2011-8-30 09:04
你的for循环后面多了一个分号了,表示这句语句已经结束,所以变量i无法识别到,把分号去掉就行了
作者: 匿名    时间: 2011-8-30 09:09
群里看到答案了,赶紧过来说一下,大家不要再看了,凡事要小心
作者: 匿名    时间: 2011-8-30 09:27
呵呵,是你太粗心了,你仔细看你写的这个for循环:
          for (int i=0;i<args.length;i++);
后面有一个封号,实际上就是定义了一条空语句,而后面的是一个普通代码块
{                  
         s+=args[i];            
}
在这个代码块中你没有定义变量i,对与for循环中的局部变量i在这个代码块中是不可见的。
作者: 匿名    时间: 2011-8-30 11:01
标题: 多个分号 呵呵
[code]public class text{
public static void main(String[] args){  
        add(2,3,5);
        }
public static void add(int... args) {
        int s=0;
        for (int i=0;i<args.length;i++){
                s+=args[i];
        }
        System.out.println(s);
        }
}[/code]




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