在java中的特定位置更改字符大小写

时间:2017-03-19 05:35:29

标签: java

编写一个程序,接受来自用户的字符串和两个整数。然后,它会更改由用户输入的两个整数指定的那些索引处的字符大小写。

例如:

String = "ProgRaMinG";
int n1=3;
int n2=5;

结果应该是PrOgraMinG

1 个答案:

答案 0 :(得分:1)

字符类方法:
isDigit(ch)如果指定的字符是数字,则返回true isLetter(ch)如果指定的字符是字母,则返回true isLetterOfDigit(ch)如果指定的字符是字母或数字,则返回true。
isLowerCase(ch)如果指定的字符是小写字母,则返回true isUpperCase(ch)如果指定的字符是大写字母,则返回true toLowerCase(ch)返回指定字符的小写字母 toUpperCase(ch)返回指定字符的大写字母。

import java.util.*;
public class Main
{
    public static void main (String[] args) throws java.lang.Exception
    {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        int n1 = sc.nextInt();
        int n2 = sc.nextInt();
        StringBuilder str = new StringBuilder(s);
        n1--;/*as string is "Zero" index based*/
        n2--;
        /*changing character as n1 position*/
        if(Character.isUpperCase(s.charAt(n1)))  //return true if UpperCase
            str.setCharAt(n1,Character.toLowerCase(s.charAt(n1)));
        else
            str.setCharAt(n1,Character.toUpperCase(s.charAt(n1)));
        /*changing character as n2 position*/
        if(Character.isUpperCase(s.charAt(n1)))  //return true if UpperCase
            str.setCharAt(n2,Character.toLowerCase(s.charAt(n2)));
        else
            str.setCharAt(n2,Character.toUpperCase(s.charAt(n2)));
        System.out.println(str);
    }
}