Java 如何将一个方法中的变量用于另一个方法?

Java 如何将一个方法中的变量用于另一个方法?,java,arrays,methods,Java,Arrays,Methods,我试图用字母表中的26个字母定义一个数组。然后我想在另一个方法中使用数组。如何在shiftLeft函数中使用arrayEins变量?提前谢谢 公共类VigenereCipher{ 公共静态无效[]dasAlphabet(){ //char[]arrayEins=新字符[26]; char[]arrayEins; 对于(int i=97;i

我试图用字母表中的26个字母定义一个数组。然后我想在另一个方法中使用数组。如何在
shiftLeft
函数中使用
arrayEins
变量?提前谢谢

公共类VigenereCipher{
公共静态无效[]dasAlphabet(){
//char[]arrayEins=新字符[26];
char[]arrayEins;
对于(int i=97;i<123;i++){
arrayEins=newchar[]{(char)i};
}
}
公共静态void shiftLeft(){
}
公共静态void main(字符串[]args){
dasAlphabet();
shiftLeft();
}
}

位于
arrayEins
的数组是
dasAlphabet
的本地数组,这意味着它实际上不存在,除非执行
dasAlphabet

您需要将数组声明为类的静态成员变量

但也请注意,此代码是错误的:

        arrayEins = new char[]{(char) i};

这会在每次循环中创建一个新数组,因此最终结果是一个长度为1的数组,其唯一元素的值为122。

您需要在一个范围内声明
arrayEins
,使其在静态方法体中可见。将其设置为
VigenereCipher
的私有静态字段就可以了。你还有另一个问题:你能解释清楚你认为行
arrayEins=newchar[]{(char)I}是什么吗
Dos?嘿,我想声明arrayEins为字母表中的所有字母,从(char)97-122开始,所以我想我可以使用这一行将数字声明为(char),但现在我知道这只会产生一个长度为1的新数组。如何声明数组中的所有字母?