An example on making the characters after the space capital if they are not, in Java. Here is a logic that i've written and that's what i can do. Still more efficient logics are appreciated in the comments. Thanks and go ahead. The [main logic] will also work in any programming language.
I think every thing is clear as every statement is explained above, so it will be useful for the future reference too. Go ahead with the output.
Note: No problem if spaces occur, they do not change. If you have any try trimming the spaces by calling st.trim() here and then convert it to char[]. The code might look like this.
Change, char c[]=st.toCharArray(); to
Let's capitalize!
import java.util.*;
class CapitalizeString
{
public static void main(String args[])
{
// Create Scanner object for taking input from the user
Scanner s=new Scanner(System.in);
// Read a string from the user and store it in st
String st=s.nextLine();
// Convert string to char array
char[] c=st.toCharArray();
// Loop till end of the char array
for(int i=0;i<c.length;i++)
{
// If char at index i is a space, then..
if((c[i]==' '))
{
// If the character after space is a small alphabet i.e. ascii values of a-z are from 97-122
if((c[i+1]>=97)&&(c[i+1]<=122))
{
/*
At that position put capital of that alphabet,
ascii values of A-Z are 65-90, so for every
particular small and capital alphabet there is a difference of 32
Also typecast to char from int.
*/
c[i+1]=(char)(c[i+1]-32);
}
}
// Make even the first letter capital
else if(i==0)
{
// The same as above, but for the current char [first char]
if((c[i]>=97)&&(c[i]<=122))
{
c[i]=(char)(c[i]-32);
}
}
}
// Show it to the user
System.out.println("Capitalized: "+new String(c));
}
}
I think every thing is clear as every statement is explained above, so it will be useful for the future reference too. Go ahead with the output.
Output
gowtham gutha Capitalized: Gowtham Gutha
Note: No problem if spaces occur, they do not change. If you have any try trimming the spaces by calling st.trim() here and then convert it to char[]. The code might look like this.
Change, char c[]=st.toCharArray(); to
char c[]=st.trim().toCharArray();
No comments:
Post a Comment