Java PrintWriter Строка не инициализирована [дубликат]

Я получил простой способ присвоить переменные JavaScript с помощью PHP.

Он использует атрибуты данных HTML5 для хранения переменных PHP, а затем присваивается JavaScript при загрузке страницы.

Полный учебник можно найти здесь здесь

Пример:


    

Hers - это код JS

var variable_1 = undefined;
var variable_2 = undefined;

window.onload = function(){
    variable_1 = document.getElementById("storage").getAttribute("data-variable-one");
    variable_2 = document.getElementById("storage").getAttribute("data-variable-two");
}

0
задан kosa 27 June 2013 в 22:49
поделиться

4 ответа

Вы должны инициализировать переменную перед ее использованием. Если команда if не работает, эта переменная останется неинициализированной:

 System.out.println("Primary Weapon: " + primaryWeapon); 

Итак, если вы ее объявите, сравните ее с "":

String primaryWeapon = ""; //The gun you get
1
ответ дан darijan 17 August 2018 в 15:49
поделиться

Есть случаи, когда PrimaryWeapon никогда не инициализируется (всякий раз, когда PrimaryWeapon1 не равно 1).

Используйте это и исправлено:

String primaryWeapon = "";
0
ответ дан Jeroen Vannevel 17 August 2018 в 15:49
поделиться

Говорят, что im не инициализирует переменную, но я инициализирую ее в последнем if if

Что произойдет, если этот блок «if» не выполняется? Тогда эта переменная будет не назначена правильно? Вот почему компилятор жалуется.

Локальная переменная должна быть назначена во всех возможных потоках, иначе это компиляционная ошибка.

1
ответ дан kosa 17 August 2018 в 15:49
поделиться

Я думаю, что ваша проблема заключается в этом утверждении if: Предполагая, что вы здесь, и weaponType делает равную «винтовку», она вернется и выйдет из вашей функции. Вы должны инициализировать свой первичный мир до значения по умолчанию, т. Е. PrimaryWeapon = «None»;

 if (weaponType.equals("Rifle")) {
                        primaryWeapon1 = primaryGen.nextInt(1) +1;
                        if (primaryWeapon1 == 1) {
                            primaryWeapon = MTAR; //*&%&*This is where i initialized it.
                        }
                        return; //<---- remove this
 }

Также заполните блок if, if(yes) {...} else {...}. Компилятор java разветвит условные предложения и будет предупреждать / ошибочно при попытке использовать неинтеллизированные переменные. Например:

int b;
boolean f = true;
if(f)
    b =1;
System.out.println(b); //error because no else block


//Fixed
int b; 
boolean f = true;
if(f)
b = 1;
else
b= 2;
System.out.println(b);

- Niru

0
ответ дан Niru 17 August 2018 в 15:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: