麻烦各位帮下忙

qiongfengcai 2009-09-29 10:08:38
如何讲字符串abcdefg 变成AbCdEfG呢。。
最好是能够通用很长字符串的转变的程序。。。谢谢。
...全文
160 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuzeitou 2009-09-29
  • 打赏
  • 举报
回复
上面没处理好………………重来

public String convert(String s) {
char[] ch = s.toLowerCase().toCharArray();
for (int i = 0; i < ch.length; i += 2) {
if (Character.isLowerCase(ch[i]))
ch[i] -= 32;
}
return new String(ch);
}

zhuzeitou 2009-09-29
  • 打赏
  • 举报
回复
public String convert(String s) {
String str = "Your String";
char[] ch = str.toLowerCase().toCharArray();
for (int i = 0; i < ch.length; i += 2) {
if (Character.isLowerCase(ch[i]))
ch[i] -= 32;
}
return new String(ch);
}
狼里格东 2009-09-29
  • 打赏
  • 举报
回复
猴子哥说得也是,看来我内功不足。。。
javakeikei 2009-09-29
  • 打赏
  • 举报
回复

public class Test {
public static void main(String[] args) {
String str = "abcdefg";
String uperstr = str.toUpperCase();
String newstr = "";
for (int i = 0; i < str.length(); i = i + 1) {
if (i / 2 * 2 == i) {
newstr = newstr + uperstr.charAt(i);
} else {
newstr = newstr + str.charAt(i);
}

}
System.out.println("最后的结果:" + newstr);

}

}
coolhty 2009-09-29
  • 打赏
  • 举报
回复
进一步修改


public static void main(String[] args) {
String s = "abcdefgsgsagasteryrthfghsgadfhdgjgfdghasrdgtqreyards";
StringBuilder build = new StringBuilder(s);
for(int i = 0 ; i < build.length() ; i+=2) {
build.setCharAt(i, Character.toUpperCase(s.charAt(i)));
}
System.out.println(build.toString());
}

Johnson_Hong 2009-09-29
  • 打赏
  • 举报
回复
 public static String convert(String s){
StringBuffer sb = new StringBuffer("");
for(int i=0;i<s.length();i++){
char ch = s.charAt(i);
String si;
if(i%2==0)
si = String.valueOf(ch).toUpperCase();
else
si = String.valueOf(ch).toLowerCase();
sb.append(si);
}
return sb.toString();
}
coolhty 2009-09-29
  • 打赏
  • 举报
回复

public static void main(String[] args) {
String s = "abcdefgsgsagasteryrthfghsgadfhdgjgfdghasrdgtqreyards";
StringBuilder build = new StringBuilder();
for(int i = 0 ; i < s.length();i++) {
if(i%2==0 && Character.isLowerCase(s.charAt(i))) {
build.append(Character.toUpperCase(s.charAt(i)));
} else {
build.append(s.charAt(i));
}
}
System.out.println(build.toString());
}


结果:AbCdEfGsGsAgAsTeRyRtHfGhSgAdFhDgJgFdGhAsRdGtQrEyArDs

希望能对楼主有帮助!
snow_online 2009-09-29
  • 打赏
  • 举报
回复
String str = "abcdefg";

String toUpperStr = "";
for(int i=0; i<str.length(); i++) {
String strsub = str.substring(i, i+1);
if(i%2==0) {
strsub = strsub.toUpperCase();
}
toUpperStr =toUpperStr+strsub;
}

System.out.println(toUpperStr);
rosewj 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 justinavril 的回复:]
引用 7 楼 wgy2750 的回复:
我的思路比较大头。。。

设置下标0和偶数的字符,通过toUpperCase()转换大写。。。

大小写字母相差32  没必要,直接减32来的快。
[/Quote]

这个思路比较好。。学习
justinavril 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wgy2750 的回复:]
我的思路比较大头。。。

设置下标0和偶数的字符,通过toUpperCase()转换大写。。。
[/Quote]
大小写字母相差32 没必要,直接减32来的快。
狼里格东 2009-09-29
  • 打赏
  • 举报
回复
我的思路比较大头。。。

设置下标0和偶数的字符,通过toUpperCase()转换大写。。。
rosewj 2009-09-29
  • 打赏
  • 举报
回复
public class test {

/**
* @param args
*/
public static String transfer(String temp) {
StringBuffer sb = new StringBuffer();
for(int i=0;i<temp.length();i++) {
char c = temp.charAt(i);
if(i%2 == 0) {
String s = String.valueOf(c).toUpperCase();

sb.append(s);
}else {
sb.append(c);
}
}
return sb.toString();
}

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(transfer("abcdefg"));

}

}
yuanjianbin 2009-09-29
  • 打赏
  • 举报
回复

public static String change(String str){
if( str == null || "".equals(str) ){
return "";
}
StringBuffer sb = new StringBuffer();
for(int i=0;i<str.length();i++){
if(i%2==0){
sb.append( str.substring(i,i+1).toUpperCase() );
}else{
sb.append( str.substring(i,i+1).toLowerCase() );
}
}
return sb.toString();
}
justinavril 2009-09-29
  • 打赏
  • 举报
回复
public class LowToUpper {
public static void main(String args[]){
String str = "abcdefghijklmnopqistuvwxyz";

char[] charArray = str.toCharArray();

for(int i=0; i<charArray.length; i++){
if(i%2 == 0)
charArray[i] -= 32;

}

System.out.println(new String(charArray));
}
}

输出:
AbCdEfGhIjKlMnOpQiStUvWxYz
yangchaoy333 2009-09-29
  • 打赏
  • 举报
回复
竟然回复了两次。kakaka....
yangchaoy333 2009-09-29
  • 打赏
  • 举报
回复
你是要转换为大写吗?是的话用 字符串.toUpperCase()
yangchaoy333 2009-09-29
  • 打赏
  • 举报
回复
你是要转换为大写吗?是的话用 字符串.toUpperCase()

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧