java 只保留字母_java编程问题,急急急!输入一个字符串,如果字符串中存在字母"a"的次数大于1,则只保留第一个"a",...

java编程问题,急急急!输入一个字符串,如果字符串中存在字母"a"的次数大于1,则只保留第一个"a",

关注:244  答案:4  mip版

解决时间 2021-01-25 14:04

e6cb1a03ad541b3098697807b7bf1798.png

提问者帆佈素顔钕漢囝

2021-01-25 08:11

输入一个字符串,如果字符串中存在字母"a"的次数大于1,则只保留第一个"a",将其余的"a"均替换为"b"。

比如:输入 s="abcde" 则输出:s="abcd"

输入 s="abaae" 则输出:s="abbbe"

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家若爱会伤

2021-01-25 09:27

public static void main(String[] args) {

boolean hasA = false;

String result = "";

Scanner x=new Scanner(System.in);

System.out.print("请输入字符串:");

Scanner in=new Scanner(System.in);

String str=in.next();

for(int i=0;i

char temp = str.charAt(i);

if(temp=='a') {

if(!hasA) {

hasA=true;

result += "a";

} else {

result += "b";

}

} else {

result += String.valueOf(temp);

}

}

System.out.println("输出字符串为:"+result);

}

测试结果:

请输入字符串:abcdef

输出字符串为:abcdef

请输入字符串:aaabg31a

输出字符串为:abbbg31b

全部回答

e6cb1a03ad541b3098697807b7bf1798.png

1楼口袋里的自由

2021-01-25 12:48

public static void main(String[] args){

String str = "abaae";

boolean val = false;

char[] c = str.toCharArray();

for(int i=0; i

if("a".equals(c[i]+"") && val){

c[i]='b';

}else{

val = true;

continue;

}

}

System.out.print(new String(c));

}

e6cb1a03ad541b3098697807b7bf1798.png

2楼風聲提筆

2021-01-25 11:20

public class StringTest {

public static void main(String[] args) {

String s="abaaac";

s=s.replaceFirst("a", " ");

s=s.replaceAll("a", "b");

s=s.replaceFirst(" ", "a");

System.out.println(s);

}

}

这里面需要注意,字符串不能有空格。

s=s.replaceFirst("a", " ");

将第一个出现的a替换了,替换的这个字符串必须啊在s中是没有出现的。

这样写起来简单一些,但是有局限性。

e6cb1a03ad541b3098697807b7bf1798.png

3楼对温柔懂得不多

2021-01-25 11:00

用字符串indexof函数判断

再看看别人怎么说的。

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

点此我要举报以上信息!

推荐资讯

大家都在看

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值