欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 54. 替换数字(第八期模拟笔试)

54. 替换数字(第八期模拟笔试)

2025/2/22 2:12:15 来源:https://blog.csdn.net/weixin_46532327/article/details/144630201  浏览:    关键词:54. 替换数字(第八期模拟笔试)

题目描述

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。 例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。

输入描述

输入一个字符串 s,s 仅包含小写字母和数字字符。

输出描述

打印一个新的字符串,其中每个数字字符都被替换为了number

输入示例
a1b2c3
输出示例
anumberbnumbercnumber
提示信息

数据范围:
1 <= s.length < 10000。

1.Character.isDigit

Character.isDigit() 是 Java 中 Character 类的一个静态方法,用于判断一个字符是否是数字字符。

功能:

  • 参数:一个字符 ch
  • 返回值:如果该字符是一个数字字符(例如:'0', '1', '2', ... '9'),则返回 true;否则返回 false

2.

System.arraycopy(source, sourcePos, dest, destPos, length)

  • System.arraycopy() 是一个用于将一个数组的部分内容复制到另一个数组的方法。
  • source:源数组。
  • sourcePos:源数组的起始位置,从该位置开始复制。
  • dest:目标数组。
  • destPos:目标数组的起始位置,复制的内容将从目标数组的此位置开始存储。
  • length:要复制的元素个数。

import java.util.Scanner;public class Main {public static String replaceNumber(String s) {int count = 0; // 统计数字的个数int sOldSize = s.length();for (int i = 0; i < s.length(); i++) {if(Character.isDigit(s.charAt(i))){count++;}}// 扩充字符串s的大小,也就是每个空格替换成"number"之后的大小char[] newS = new char[s.length() + count * 5];int sNewSize = newS.length;// 将旧字符串的内容填入新数组System.arraycopy(s.toCharArray(), 0, newS, 0, sOldSize);// 从后先前将空格替换为"number"for (int i = sNewSize - 1, j = sOldSize - 1; j < i; j--, i--) {if (!Character.isDigit(newS[j])) {newS[i] = newS[j];} else {newS[i] = 'r';newS[i - 1] = 'e';newS[i - 2] = 'b';newS[i - 3] = 'm';newS[i - 4] = 'u';newS[i - 5] = 'n';i -= 5;}}return new String(newS);};public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String s = scanner.next();System.out.println(replaceNumber(s));scanner.close();}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词