Переменная не была инициализирована?
package JavaApplication8; import java.util.Scanner; public class JavaApplication8 { public static void main(String[] args) { Scanner scan =new Scanner(System.in); System.out.println("Enter an interger between 1000 and 9999:"); int fourdigitnum=scan.nextInt(); if (fourdigitnum>=1000 &&fourdigitnum<=9999) { System.out.println("Enter an interger between 0 and 9:"); int onedigitnum=scan.nextInt(); if(onedigitnum>=0 && onedigitnum<=9) { //old 4 digits int digit1,digit2,digit3,digit4; //new 4 digits int digit11,digit22,digit33,digit44; int temp; digit4=fourdigitnum%10; temp=fourdigitnum/10; digit3=temp%10; temp=temp/10; digit2=temp%10; temp=temp/10; digit1=temp%10; //finding 1st new digit if (0==0){ if (digit1<onedigitnum) digit11=digit1+1; else if (digit1>onedigitnum) digit11=digit1%onedigitnum; //finding 2nd new digit if (digit2<onedigitnum) digit22=digit2+1; else if (digit2>onedigitnum) digit22=digit2%onedigitnum; //finding 3rd new digit if (digit3<onedigitnum) digit33=digit3+1; else if (digit3>onedigitnum) digit33=digit3%onedigitnum; //finding 4th new digit if (digit4<onedigitnum) digit44=digit4+1; else if (digit4>onedigitnum) digit44=digit4%onedigitnum; } System.out.println("The output is: "+digit11+""+digit22+""+digit33+""+digit44); //MY PROBLEM IS HERE.. im keep getting variable digit11 digit22.. etc.. have not been initialized } else System.out.println("Error, this is not a 1-digit integer"); } else System.out.println("Error, this is not a 4-digits integer"); } }
Что я уже пробовал:
я попытался объявить переменные вне утверждения if /else .. или использовать печать вне if/else.. но это на самом деле не меняет его, и я попытался использовать if (условие) сделать что-то другое.. вместо (if... else if), но это вызвало у меня другие проблемы.. так что же делать?
я думаю, что моя проблема заключается в том, что system.out.println в конце.. не может прочитать значение, полученное из утверждения if/else ..и я не знаю, что вызывает это и как это исправить