User2
User2

Reputation: 21

string index out of range exception

I'm looking for help correcting an exception error for 'string index out of range'. My code is supposed to take two strings as input from the user(string1 and string2) and create new strings that are parts of the originals.

So far I have the following:

modString1 = string1.substring(string1.length() -3, string1.length());

modString2 = string2.substring(0,3);

The above code is supposed to take the last 3 characters of string1 and the first 3 characters of string2. The problem I am having comes when the user inputs a string that is shorter than 3 characters.

I'm wondering if there is a way to check the input and add a character (x for example) if the string is too short?

For example, if the user enters 'A' for the first string it will change the string to 'xxA' and if 'A' is entered for the second string it will change that to 'Axx'?

Upvotes: 2

Views: 1262

Answers (3)

Dinup Kandel
Dinup Kandel

Reputation: 2505

put the validation like below and add the string. For ex.

if(string1.length()<3){     
      String op = 'xx'; 
      string1 += op;
}

Upvotes: 0

Mark Byers
Mark Byers

Reputation: 837926

I'm wondering if there is a way to check the input and add a character (x for example) if the string is too short?

What you are looking for is called padding.

It can be done in a number of ways. The simplest is probably to use an external library such as Apache's StringUtils. You could also write a padding method yourself using a StringBuilder.

Related:

Upvotes: 1

Jonathon Ashworth
Jonathon Ashworth

Reputation: 1114

Put an if statement before your code, checking the length of the string before you process it.

For example:

if(string1.length() < 3) {
    // Add characters to the string
}

Upvotes: 1

Related Questions