如何实现利用字符串“abcedfg”变“AbCdEfG”,

xiao_qi123 2009-09-29 12:12:57
利用字符串“abcedfg”.编写一程序,实现“AbCdEfG”,可以用String类中的toUpperCase()来实现吗?
...全文
216 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
louis_gongyuchen 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));
}
}
zhuzeitou 2009-09-29
  • 打赏
  • 举报
回复
这个不是刚才有个一模一样的问题么………………
不过不是lz发的
http://topic.csdn.net/u/20090929/10/969b20e0-459c-43f5-a04a-5d9f0a2b663e.html
justinavril 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bao110908 的回复:]
都不知道你在问什么!
[/Quote]
把偶数位(从0开始)的字符都变成大写的

我记得楼主发过帖子了
  • 打赏
  • 举报
回复
都不知道你在问什么!
zhanghai921 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 louis_gongyuchen 的回复:]
Java codepublicclass LowToUpper {publicstaticvoid 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));
}
}
[/Quote]
只是针对楼主的问题的话,这样写个人感觉不错。这样的东西在笔试中应该会遇到吧。
shine333 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 zhuzeitou 的回复:]
……那么我还是这个意见吧,写出来的代码最好是有普遍性,而不是只对着这个题目
[/Quote]

想法不错。不过您认为,除了练习、考试,现实中会有这种需求吗?
Bot制造师 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 zhuzeitou 的回复:]
……那么我还是这个意见吧,写出来的代码最好是有普遍性,而不是只对着这个题目
[/Quote]
11
zhuzeitou 2009-09-29
  • 打赏
  • 举报
回复
……那么我还是这个意见吧,写出来的代码最好是有普遍性,而不是只对着这个题目
louis_gongyuchen 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 no_end_point 的回复:]
引用 5 楼 shine333 的回复:
4F的正解,而且效率不比StringBuilder低


唉, 明显错误

如果我的字符串是Abcdefgh怎么办?
'A' - 32?
[/Quote]
题目说abcdefg,请看题目!
huwenbing2008 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zhuzeitou 的回复:]
这个先把字符串toLowerCase()一下,然后我觉得做好还要在循环中判断每个字符是不是英文字母
[/Quote]

最好是有判断!
这样才周到。
shine333 2009-09-29
  • 打赏
  • 举报
回复
charArray[i] &= 0xFFDF;

charArray[i] |= 0x20;


仅限于字母
justinavril 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 no_end_point 的回复:]
引用 5 楼 shine333 的回复:
4F的正解,而且效率不比StringBuilder低


唉, 明显错误

如果我的字符串是Abcdefgh怎么办?
'A' - 32?
[/Quote]
判断一下就好了 大写字母在ASCII码里的是介于65和90
zhuzeitou 2009-09-29
  • 打赏
  • 举报
回复
这个先把字符串toLowerCase()一下,然后我觉得做好还要在循环中判断每个字符是不是英文字母
luxiaoshuai 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 no_end_point 的回复:]
引用 5 楼 shine333 的回复:
4F的正解,而且效率不比StringBuilder低


唉, 明显错误

如果我的字符串是Abcdefgh怎么办?
'A' - 32?
[/Quote]
4F只是针对你提出的问题给出的方法,根据情况你自己再变通一下吧.
luxiaoshuai 2009-09-29
  • 打赏
  • 举报
回复
4F 的不错,以前用汇编写过这个函数.就是用的这个方法.
良言相告 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 shine333 的回复:]
4F的正解,而且效率不比StringBuilder低
[/Quote]

唉, 明显错误

如果我的字符串是Abcdefgh怎么办?
'A' - 32?
naruto1021 2009-09-29
  • 打赏
  • 举报
回复
public class Test
{
public static void up(StringBuffer sb)
{
for(int i = 0;i<sb.length();i+=2)
{
sb.setCharAt(i,Character.toUpperCase(sb.charAt(i)));
}

}

public static void main(String[] args)
{
StringBuffer sb = new StringBuffer("abcdef");
up(sb);
System.out.println(sb.toString());
}
}
shine333 2009-09-29
  • 打赏
  • 举报
回复
4F的正解,而且效率不比StringBuilder低

62,614

社区成员

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

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