为什么我一直收到“找不到符号”的错误?

时间:2014-06-08 16:36:02

标签: java arrays

我收到错误消息“无法找到变量月份”。也许这是因为该方法无法访问数组月份来查找其长度。我已将主要的metod与另一个名为SearchMethod的方法结合使用。 有人可以告诉我如何解决这个问题?这是我的代码

import javax.swing.JOptionPane;
public class SearchStringM
{
public static void main(String args[])
{
    String[] months = {"January", "February", "March", "April", "May"};

    String search = JOptionPane.showInputDialog("Enter the term you wish to search for ");

    SearchStringM x = new SearchStringM();
    x.SearchMethod(search);
    //String r = SearchMethod(search);
}

public static String SearchMethod(String search){ 
    boolean contains = false;
    for(int i=0; i<months.length; i++)
    {
        if(months[i].contains(search))
        {
            contains = true;
            break;
        }
    }

    if(contains)
    {
        System.out.println("This contains " + search);
    }
    else
    {
        System.out.println("This does not contain " + search);
    }
    return null;
    }
}

3 个答案:

答案 0 :(得分:2)

在main方法之上声明该变量,以便您可以在该类中使用该变量。

答案 1 :(得分:0)

嘿将6号String[] months = {"January", "February", "March", "April", "May"};行写入您的函数SearchMethod()或在类级别定义它。 您收到此错误,因为它在main中声明,并且您正在该方法中使用它。

答案 2 :(得分:0)

months在主函数中定义 ,因此SearchMethod无法使用它,您必须通过参数将变量发送到函数。

试试这个:

变化:

public static String SearchMethod(String search){ 
...

public static String SearchMethod(String search, String[] months){
...

x.SearchMethod(search);

x.SearchMethod(search, months);

或者您可以在主要方法

之上声明months