2015-10-31 4 views
2

Я пишу программу, и есть только одна ошибка осталосьError «переменная Zahl не может быть инициализирован

Это говорит variable zahl might not have been initialized, но я сделал это:.

public class Primzahltest1 { 
    public static void main (String[]argv) { 
     int zahl; 
     IO.readInt("..."); 
     if (zahl<=1) { 
      IO.println ("..."); 
      return; 
     } 

Может кто-то пожалуйста, помогите мне ?

+2

Просто напишите 'int zahl = 0;'. Или любое другое значение, которое вы хотите. – pzaenger

+0

Вам нужно присвоить значение 'zahl'. –

+0

'int zahl = IO.readInt (" ... ");'? – luk2302

ответ

2

Вы должны инициализировать вам int переменную с результатом readInt

int zahl = IO.readInt("..."); 

в противном случае это означает, что она неинициализированный

int zahl; 

и это означает, что ваш вклад получает отбрасывается

IO.readInt(); 
0

Всякий раз, когда вы объявляете переменную внутри методы вы должны инициализировать его как

int zahl=0;

+0

Не обязательно, значение можно вставить с введенными значениями. –

+0

Не могли бы вы уточнить, что не так в моих комментариях и примерах? – Rehman

+0

@ Rehman, вы отвечаете совершенно правильно, локальные переменные должны быть инициализированы, http://stackoverflow.com/questions/1560685/why-must-local-variables-including-primitives-always-be-initialized-in-java иначе если 'IO.readInt (" ... ")' выкинет ошибку, например, кто-то передаст строку или не будет целочисленным char, он останется не инициализированным. – Anatoly

0

Вы не инициализировали переменную zahl вы только определили его. Вместо int zahl; типа int zahl=0 и переменная будет инициализирована Или, если вы хотите сделать zahl введенную от пользователя записи: int zahl = IO.readInt("...");

0

Вы не инициализировать переменную zahl, так что вы не можете проверить его значение. Это, в сочетании с тем, что вы читаете Int, но не обращая внимания, что делает меня предположить, вы намеревались присвоить Int вы читаете zahl:

int zahl = IO.readInt("..."); 
0

В вашей программе вы не инициированную Zahl. Вы только объявили об этом.

Для инициализации это просто приравнивает zahl к readInt.

int zahl = IO.readInt("..."); 

Это поможет решить вашу проблему.

В Java необходимо инициализировать все локальные переменные, чтобы вы случайно не читали то, чего не хотели.

Смежные вопросы