是否可以通过其他方法访问数组?

问题描述 投票:0回答:3

我在一个问题上苦苦挣扎,我必须访问在main方法下初始化的数组。

我将如何在'isLower'方法下访问数组(random [])?]]

我的错误:

Example3.java:4: error: cannot find symbol
            for(int i = 0;i<random.length;i++){
                            ^
  symbol:   variable numbers
  location: class Example3
Example3.java:5: error: cannot find symbol
                    System.out.print(random[i] + " ");
                                     ^

我的代码:

static void isLower(){
    int freq = 0;

    if(random[i]>='a'&&random[i]<='z'){//if lowercase
        freq++;
        return false;
    }
    else if(random[i]>='A'&&random[i]<='Z'){//if uppercase
        return true;
    }


}

public static void main(String [] args){
    int num;
    char random [] = new char[1000];

    for(int i = 0;i<1000;i++){
        num = (int)(Math.random()*((126-32)+1))+32;
        random[i] = (char)num;

    }

我要完成的问题这样写:

编写一个Java程序,该程序用1000可打印字符初始化一个字符数组ASCII表中的随机字符。然后您的程序应进行处理查找小写值频率的数组。您的解决方案应使用程序员定义的称为isLower

的方法,该方法采用一个字符参数,如果参数为大写则返回true,如果为大写则返回false小写。

我在一个问题上苦苦挣扎,我必须访问在main方法下初始化的数组。我将如何在方法“ isLower”下访问array(random [])?我的...

java
3个回答
0
投票

一种方法是像这样声明它:


0
投票

该数组超出了该方法的范围。一个简单的解决方法是将其设置为字段并在Class级别进行声明。 (如果要在main()中使用该数组,则它必须是静态的)


0
投票

这应该起作用:

© www.soinside.com 2019 - 2024. All rights reserved.