Java - 在switch语句中的case之间共享int值

时间:2014-09-23 02:14:41

标签: java

我是java的新手,不知道如何在switch语句中的case之间共享值?当我尝试使用我在前一种情况下创建的变量时,它告诉我"变量可能尚未初始化"

代码:

case 6:
    String stringCopy = stringInput;
    String lowerCase = stringCopy.toLowerCase();
    int vowelCount = 0;
    int stringLength = lowerCase.length();

    for (int i = 0; i <= stringLength - 1; ++i){
        switch(stringInput.charAt(i)) {
            case 'a':
            case 'e':
            case 'i':
            case 'o':
            case 'u':
                vowelCount++;
        }
        System.out.println(vowelCount);
        break;
    }

case 7:
    int noofConstants = 0;
    noofConstants = (stringLength - vowelCount);

2 个答案:

答案 0 :(得分:4)

在开关语句之前声明并初始化值

  int value = 0;
  switch (key) {
  case 3:
     value = 1 + 1;
     break;
  case 4:
     value = 1;
     break;

答案 1 :(得分:1)

您无法访问在case的单独代码块中初始化的变量。

在代码块之外/之前声明它

int stringLength = 0;

switch(){

  case 6:
     stringLength = 1;
  break;

  case 7:
      stringLength = 2;
  break;

}