| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1080 人关注过本帖
标题:编译的时候为什么有这个错误啊
只看楼主 加入收藏
中国
Rank: 1
等 级:新手上路
帖 子:218
专家分:0
注 册:2009-1-4
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:10 
编译的时候为什么有这个错误啊
xiaohaihai.java:23: 找不到符号
符号: 变量 a
位置: 类 xiaohaihai
    if(a[i]!=-1)
       ^
public class xiaohaihai{
   public static void main(String args[]){
try{
   int a[]={0,1,2,3,4,5,6,7,8,9};
   int m=3;
   for(int i=m,n=0;n<9;i+=m,n++)
   {
      a[i]=-1;
     if(i>10)
    {

       i-=10;
      a[i]=-1;
    }
   }
 }
catch(ArrayIndexOutOfBoundsException e)
{
   System.out.println("出既然vlv ");
   System.exit(-1);
}
  

  for(int i=0;i<9;i++)
    if(a[i]!=-1)
     System.out.println("winner is"+i);


 }
}
搜索更多相关主题的帖子: Java 
2009-08-13 21:24
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:1 
int a[]在try里面定义,是局部变量,在try catch外面当然找不到a啦

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-08-14 08:30
windizual
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:124
专家分:186
注 册:2009-7-1
收藏
得分:1 
LS的正解

Java要学的东西好多~~~~~
2009-08-14 10:58
中国
Rank: 1
等 级:新手上路
帖 子:218
专家分:0
注 册:2009-1-4
收藏
得分:0 
回复 2楼 lampeter123

这个意思我倒不知道了
我只知道try是阔住有异常的代码段啊,没想到这段代码还属于try啊
2009-08-14 11:57
封闭
Rank: 9Rank: 9Rank: 9
来 自:广东省汕头市
等 级:蜘蛛侠
威 望:1
帖 子:501
专家分:1084
注 册:2007-9-14
收藏
得分:1 
你的a是放在try里面,属于局部变量a,只能用在try的范围里。
所以,当你程序去到下面,当然回找不到。
2009-08-15 09:46
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:1 
2L正解
   局部变量--->只能在这个范围内使用。

C#超级群 74862681,欢迎大家的到来!
2009-08-17 09:44
中国
Rank: 1
等 级:新手上路
帖 子:218
专家分:0
注 册:2009-1-4
收藏
得分:0 
为什么放在try里面就是局部变量啊
2009-08-17 11:47
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:1 
类似于FOR循环.
   lz可以参考FOR循环,那就更好理解些了。
     比如 public class Text{
    public static void main(String[] args){
        int rooster;        //公鸡
        int hen;            //母鸡
        int chicken;        //小鸡
        for(rooster = 0; rooster < 50; rooster++){
            for(hen = 0; hen < 50; hen++){
                 for(chicken=0;chicken<=50;chicken++){
                if(rooster*3 + hen*4 + chicken * 0.5 == 100){
                    
                }
                 
            }
        }
            System.out.println("公鸡" + rooster + "只" + "母鸡" + hen + "只" + "小鸡" + chicken + "只");
            //放在三层循环外。
    }
    }
}

C#超级群 74862681,欢迎大家的到来!
2009-08-17 21:27
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:1 
自己运行下就知咯。

C#超级群 74862681,欢迎大家的到来!
2009-08-17 21:28
凤凰归
Rank: 2
等 级:论坛游民
帖 子:6
专家分:15
注 册:2009-8-17
收藏
得分:1 
这也就是java中变量的作用域的原因,比如A()方法中定义的变量只能在这个方法内才能访问是一个道理,一对大括号中定义的变量只能在这个大括号的范围之内才能被访问
2009-08-17 22:38
快速回复:编译的时候为什么有这个错误啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037405 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved