当我尝试在循环或if声明之外使用变量“ encryptionKey”时,会引发编译错误“找不到符号”。

else if (inputPlainResultArray.length == 4 || inputPlainResultArray.length == 9 || inputPlainResultArray.length == 16)
{
   char[] encryptionKey = inputPlainResultArray;
   System.out.print("Encryption Key: ");
   System.out.print(encryptionKey);
   System.out.println();
   System.out.println();
   System.out.println();
   System.exit(0);

}
}
}

最佳答案

因为它是局部变量,所以您不能在声明它的作用域之外访问它。
您应该看一下on which types of variables exists in Java

在您的特定情况下,您可以使用实例变量,因此可以在方法外声明char[] encryptionKey

 public class YourClass{
   char[] encryptionKey;
   // other methods, fields, etc.
}


并且您将可以在此类的任何位置使用此变量,或在方法内声明else-if范围之外的位:

char[] encryptionKey = null;
if (...){}

else if (...){
char[] encryptionKey = inputPlainResultArray;
}


因此它对于此特定方法内的所有实体都是可见的。

关于java - 如何在循环之外使用此变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32201523/

10-09 07:10