2016-10-06 2 views
-3

Ich schreibe ein Programm, das den Unterschied zwischen zwei Zeichenfolgen vergleicht, und ich bekomme einen Fehler mit der Variable kürzerS, die die kürzere Zeichenfolge aus den beiden ist. Der Compiler sagtJava Variable Problem

int length1 = inputStr1.length(); 
int length2 = inputStr2.length(); 

int shorterS; 
if(length1 <= length2) 
    {int shorterS = length1;} 
else 
    {int shorterS = length2;} 


int numDiff = 0; 

for(int j=0; j<shorterS; j++) 
{ 
    if(inputStr1.charAt(j) != inputStr2.charAt(j)) 
    System.out.print((j-1)+" "+inputStr1.charAt(j)+" "+inputStr2.charAt(j)); numDiff=numDiff++; 

Antwort

0

Sie nur eine Variable deklarieren müssen einmal „die Variable bereits in Hauptmethode definiert ist“, und Sie tun, dass auf der 3. Zeile

int shorterS; 

alle anderen int Erklärungen löschen vor Shorter

int length1 = inputStr1.length(); 
int length2 = inputStr2.length(); 

int shorterS; 
if(length1 <= length2) 
    {shorterS = length1;} 
else 
    {shorterS = length2;} 


int numDiff = 0; 

for(int j=0; j<shorterS; j++) 
{ 
    if(inputStr1.charAt(j) != inputStr2.charAt(j)) 
    System.out.print((j-1)+" "+inputStr1.charAt(j)+" "+inputStr2.charAt(j)); numDiff=numDiff++; 
0

Statt wieder einzutippen

int kürzerS = Länge2;

Gerechte Art

Shorters = length2;

Dies gilt für beide Fälle. Der Grund dafür ist, dass Sie bereits einen Variablentyp int mit demselben Namen deklariert haben.