以开头的行上的Java编译错误*

以开头的行上的Java编译错误*,java,encryption,Java,Encryption,我对Java相当陌生,并尝试使用Java加密扩展,到目前为止,我有这个,除了Eclipse在*行上抛出错误,我不知道为什么。 我在*。。。它们通常不在代码中 private static byte[] getKey(byte[] paramArrayOfByte) throws NoSuchAlgorithmException { KeyGenerator localKeyGenerator = KeyGenerator.getInstance("AES"); tr

我对Java相当陌生,并尝试使用Java加密扩展,到目前为止,我有这个,除了Eclipse在*行上抛出错误,我不知道为什么。 我在*。。。它们通常不在代码中

private static byte[] getKey(byte[] paramArrayOfByte)

    throws NoSuchAlgorithmException
  {
    KeyGenerator localKeyGenerator = KeyGenerator.getInstance("AES");
    try
    {
      SecureRandom localSecureRandom1;
      SecureRandom localSecureRandom2 = SecureRandom.getInstance("SHA1PRNG", "Crypto");
 *    localSecureRandom1 = localSecureRandom2;
 *    localSecureRandom1.setSeed(paramArrayOfByte);
 *    localKeyGenerator.init(128, localSecureRandom1);
      return localKeyGenerator.generateKey().getEncoded();
    }
   catch (NoSuchProviderException localNoSuchProviderException)
    {
      while (true)

 *    SecureRandom localSecureRandom1 = SecureRandom.getInstance("SHA1PRNG");
  }
 }

就我而言,所有已修复的复制粘贴错误,无限循环用于测试。

假设您引入星号(
*
)来突出显示有问题的行:

  • localSecureRandom1
    未在标记的第一行声明,这也应该是编译器给您的消息
  • 然后在
    catch
    -子句中声明
    localSecureRandom1
    ,这没有意义
  • catch
    -子句中还有一个无限循环

您是否复制并粘贴了代码?“*”来自哪里?移除它们!*表示我在哪里出错。我把它们放在那里——也许如果你读了《探索》,你会看到。你会犯什么错误。从未声明变量
localSecureRandom1
。由于该方法是静态的,我假定这是一个实例变量。您是否声明并初始化了它?