一个字符串我想领指定位置的字符变为大写,要怎样做?具体是什么字符不知道,只知道要第几个字符传成它本身的大写。
------解决方案--------------------
是我的话会把那个指定位置的字符substring提出来比如赋给String a
然后Integer.parseInt(a);
加上小写和大写的ascii差值
再转成字符
------解决方案--------------------
public String upperCase(String str, int pos) {
return str.substr(0, pos) + str.substr(pos, pos+1).toUpperCase() + str.substr(pos+1);
}
------解决方案--------------------
- Java code
public class UpperCase { public static void main(String[] args) { System.out.println(getTheUpperCase("good", 0)); } static String getTheUpperCase(String src, int pos) { if(pos>=src.length()) throw new RuntimeException("指定的位置不合法!"); StringBuilder sb = new StringBuilder(src); sb.setCharAt(pos, Character.toUpperCase(src.charAt(pos))); return sb.toString(); }}
------解决方案--------------------
字符位置从1开始表示,返回null表示传入的参数有误
- Java code
public static String upperCaseString(String str,int pos) { if(pos < 1 || pos > str.length() || null == str | "".equals(str)) return null; char[] strChars = str.toCharArray(); strChars[pos-1] = Character.toUpperCase(strChars[pos-1]); return String.valueOf(strChars); }
------解决方案--------------------
public static String upperCaseString(String str,int pos)
{
if(pos < 1 || pos > str.length() || null == str | "".equals(str)) return null;
char[] strChars = str.toCharArray();
strChars[pos-1] = Character.toUpperCase(strChars[pos-1]);
return String.valueOf(strChars);
}