我在Main()方法中,用了这样的语句可是总是会出错,不知道为什么?望高手可以帮忙解决一下,
代码如下:
public static void main(String args[])
     {
 do
 {
 guessnumber();//调用guessnumber()这个方法实现猜数
 System.out.println("是否重新开始(y/n)?");
     String Str= readStr();  }
 while (Str.equalsIgnoreCase("y")); 
     }
main()方法主要就是一个外循环控制当猜完数是否要重新再猜一遍。在文本编辑器中总是会出现如下的错误:D:\javasrc>javac guessnumber.java
guessnumber.java:42: 找不到符号
符号: 变量 Str
位置: 类 guessnumber
                 while (Str.equalsIgnoreCase("y"));
                        ^
1 错误

解决方案 »

  1.   


    public static void main(String args[])
    {
      String Str; //在这定义
      do
      {
        guessnumber();//调用guessnumber()这个方法实现猜数
        System.out.println("是否重新开始(y/n)?");
        Str= readStr();  }
      while (Str.equalsIgnoreCase("y"));
    }
      

  2.   

    楼上提供了一种可行的解决办法,经常也是这样做的。
    do{...}大括号中定义的变量其作用范围只能是这个大括号里面,while(...)中引用就超出了其作用范围了