Я получаю эту ошибку «variable "st" might not have been initialized
» в случае 5, когда я пытаюсь выполнить подсчет строк. Я попытался найти онлайн решение, но не смог найти кого-то с той же проблемой, используя строковый токенизатор. Пожалуйста, может кто-нибудь сказать мне, почему это происходит?Java - переменная «st», возможно, не была инициализирована
/**
*To change this license header,choose License Headers in Project Properties.
*To change this template file,choose Tools|Templates
*and open the template in the editor.
*/
package labone;
import java.util.Scanner;
import java.util.StringTokenizer;
public class LabOne {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner userInput = new Scanner(System.in);
System.out.println("Welcome To The String Editor!");
System.out.println("");
System.out.println("Please choose what you would like to do by choosing one of the options below:");
System.out.println("1. Input String");
System.out.println("2. Print Current String");
System.out.println("");
int userOption = 0;
String stringInput = new String();
while (userOption != 9) {
userOption = userInput.nextInt();
userInput.nextLine();
switch (userOption) {
case 1:
stringInput = userInput.nextLine();
System.out.println(stringInput);
break;
case 2:
System.out.println(stringInput);
break;
case 3:
stringInput = new StringBuilder(stringInput).reverse().toString();
System.out.println(stringInput);
break;
case 4:
StringTokenizer st = new StringTokenizer(stringInput);
System.out.println(stringInput);
break;
case 5:
System.out.println("Number of tokens:" + st.countTokens());
break;
default:
;
break;
}
}
// TODO code application logic here
}
}
Как вы думаете, вы инициализируете 'st' для случая 5? И где вы используете 'st' в случае 4? Может быть, просто переместите его от случая 4 к случаю 5? – Thilo
Пожалуйста, не просто удалите код из вопроса. –