Reputation:
Hey guys working on a Java assignment for uni, why doesn't this work?
if ( i <=39998)
String digit = pictureFile.substring(i, i+1);
else
String digit = pictureFile.substring(39998,39999);
It comes up with this error message:
Upvotes: 1
Views: 62
Reputation: 262824
What you have written is a syntax error, because an if
or else
without a code block in curly brackets can only take a statement, not a variable declaration.
This would compile, but is pointless:
if (i <=39998) { // WARNING: unused variable
String digit = pictureFile.substring(i, i+1);
} else {
String digit = pictureFile.substring(39998,39999);
}
It makes no sense to declare the variable inside of the branches, as it is not visible outside the if
. Should be
String digit;
if ( i <=39998)
digit = pictureFile.substring(i, i+1);
else
digit = pictureFile.substring(39998,39999);
or
String digit = (i <= 39998)
? pictureFile.substring(i, i+1)
: pictureFile.substring(39998,39999);
Upvotes: 9