我编写了以下代码,但得到以下编译错误:


  局部变量dirArrow可能尚未初始化。注意
  有关在“开关”上缺少“默认值:”的问题
  压抑,也许是
       与这个问题有关


//return the ID of the robot and arrow of his facing direction
public String toString(){
    char dirArrow;
    switch (direction) {
        case UP: dirArrow= '^';
        case RIGHT: dirArrow= '>';
        case DOWN: dirArrow= 'V';
        case LEFT: dirArrow= '<';
        break;

    }
    return (Integer.toString(RoboID) + dirArrow);
}

最佳答案

您需要像这样初始化dirArrow变量:

char dirArrow = ' ';
switch (direction) {


了解为什么使用本地variable should be initialized

注意:您还需要在每个case块的末尾添加break语句,例如:

case UP: {
    dirArrow= '^';
    break;
}

关于java - 大小写切换Java编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23363278/

10-10 03:02