Java 救命啊!错误:局部变量transactionType可能尚未初始化

Java 救命啊!错误:局部变量transactionType可能尚未初始化,java,Java,我明白了 错误:局部变量transactionType可能尚未初始化 但问题是它是在我的if语句中初始化的 if (transactionChar == 'w') transactionType = "Withdrawal"; else if (transactionChar == 'd') transactionType = "Deposit" ; 然后当我去打印transactionType时,它不会让我这样做,因为它给了我那个错误! 我的声明是这样的 String tran

我明白了 错误:局部变量transactionType可能尚未初始化

但问题是它是在我的if语句中初始化的

if (transactionChar == 'w')
  transactionType = "Withdrawal"; 

else if (transactionChar == 'd')
  transactionType = "Deposit" ; 
然后当我去打印transactionType时,它不会让我这样做,因为它给了我那个错误! 我的声明是这样的

String transactionType;
char transactionChar;

请帮忙。在过去的4个小时里,我一直在想办法

初始化变量:

String transactionType = "";
char transactionChar = '';

(在字符上不确定,因为我通常使用C。)

初始化变量:

String transactionType = "";
char transactionChar = '';

(在字符上不确定,因为我通常使用C。)

您必须在每个可能的条件下初始化事务类型。这包括一个else语句。例如:

if (transactionChar == 'w') 
  transactionType = "Withdrawal";
else if (transactionChar == 'd')
  transactionType = "Deposit";
else
  transactionType = "Something else";

您必须在每种可能的情况下初始化事务类型。这包括一个else语句。例如:

if (transactionChar == 'w') 
  transactionType = "Withdrawal";
else if (transactionChar == 'd')
  transactionType = "Deposit";
else
  transactionType = "Something else";

Java编译器分析了代码流,发现如果transactionChar既不是“w”也不是“d”,则transactionType将保持未初始化状态。初始化变量或提供一个else子句,该子句设置一个值,而不考虑程序流。

Java编译器分析了代码流,发现如果transactionChar既不是“w”也不是“d”,则transactionType将保持未初始化状态。要么初始化变量,要么提供一个else子句来设置一个值,而不考虑程序流。

这不是初始化变量,这只是赋值。这根本不是一个解决方案,因为它不能保证在执行检查
transactionChar=='w'
之前,
transactionChar
是否已初始化/分配。这不是他的问题。错误为:“transactionType可能尚未初始化”。我的代码在任何情况下都会初始化transactionType。这不是初始化变量,这只是赋值。这根本不是一个解决方案,因为它不能保证在执行检查
transactionChar=='w'
之前,
transactionChar
是否已初始化/分配。这不是他的问题。错误为:“transactionType可能尚未初始化”。我的代码在任何情况下都会初始化transactionType。非常感谢!我设置字符串transactionType=“”;它解决了这个问题。非常感谢!我设置字符串transactionType=“”;它解决了这个问题。