文章目录
- 题目描述
- 题目分析
- java 代码
- 结果
题目描述
将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变
public static String MarkNum(String pInStr){
return null;
}
注意:输入数据可能有多行
输入描述:
输入一个字符串
输出描述:
字符中所有出现的数字前后加上符号“*”,其他字符保持不变
示例
输入
Jkdi234klowe90a3
输出
Jkdi*234*klowe*90*a*3*
题目分析
以字符的方式遍历该字符串,同时进行判断,当满足条件时,拼接到 StringBuilder 上(前后都拼接星号),否则就直接拼接该字符。
如此,最终的结果,在多个连续的数字中间会有2个星号,因此最终做个处理,将其替换为空字符创。
java 代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 表示数字
*/
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while((line = br.readLine()) != null){
StringBuilder sb = new StringBuilder();
char[] chars = line.toCharArray();
for (char aChar : chars) {
if (aChar >= '0' && aChar <= '9') {
sb.append("*").append(aChar).append("*");
} else {
sb.append(aChar);
}
}
System.out.println(sb.toString().replace("**", ""));
}
}
}
结果

最后
以上就是无奈奇迹最近收集整理的关于牛客网华为机试【表示数字】题目描述题目分析java 代码结果的全部内容,更多相关牛客网华为机试【表示数字】题目描述题目分析java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复