Reputation: 1
Hi Im a beginer in java andd we were given a assignment to captilize the last 2 letter of any given word can someone help me do that?
I was able to figuire out how to captilize the the 1st and last letter but I have no clue how to cap the last 2 letters?
I also Have clue how to make it in a keyboard input and a have it cap the last 2 lettrs and give a output.
Ex- input eat output- eAT
class Main {
static String FirstAndLast(String str)
{
// Create an equivalent char array of given string
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
// k stores index of first character and i is going to store index of last character.
int k = i;
while (i < ch.length && ch[i] != ' ')
i++;
// Check if the character is a small letter If yes, then Capitalise
ch[k] = (char)(ch[k] >= 'a' && ch[k] <= 'z'
? ((int)ch[k] - 32)
: (int)ch[k]);
ch[i - 1] = (char)(ch[i - 1] >= 'a' && ch[i - 1] <= 'z'
? ((int)ch[i - 1] - 32)
: (int)ch[i - 1]);
}
return new String(ch);
}
public static void main(String args[])
{
String str = "Prep insta";
System.out.println("Input String:- "+str);
System.out.println("String after Capitalize the first and last character of each word in a string:- "+FirstAndLast(str));
}
}
Upvotes: 0
Views: 94
Reputation: 521073
The easiest way to do this is probably to use the base string methods:
String input = "capitalize";
String output = input.substring(0, input.length() - 2) +
input.substring(input.length() - 2).toUpperCase();
System.out.println(output); // capitaliZE
Upvotes: 0
Reputation: 32507
How about using a simpler approach
Get a string
Cut 2 last letters and remember them
Capitalize them
Join 2 parts together
public static void main(String[] args) {
String input="yourInputFromSomewhere";
int cutPoint=input.length()-2;
String fixed=input.substring(0,cutPoint);
String toCapitalize=input.substring(cutPoint);
System.out.println(fixed+toCapitalize.toUpperCase());
}
Output:
yourInputFromSomewheRE
Upvotes: 1