用java编程,实现:从键盘输入一个字符串,将字符串中遇到的数字改成其数值个它后面的那个字母,比如 10
用java编程,实现:从键盘输入一个字符串,将字符串中遇到的数字改成其数值个它后面的那个字母,比如at2g改写成atggg。求各位大神帮忙...
用java编程,实现:从键盘输入一个字符串,将字符串中遇到的数字改成其数值个它后面的那个字母,比如at2g 改写成atggg。求各位大神帮忙
展开
4个回答
展开全部
那如果最后一个是数字该怎么办?
import java.util.Scanner;
public class _20140919 {
/**
* @param args
*/
public static void main(String[] args) {
//输入字符串
String str=new Scanner(System.in).nextLine().toString();
//将字符串转成字符数组
char[] charArr=str.toCharArray();
//定义一个新的字符串存储最后的结果
String newStr="";
for(int i=0; i<charArr.length-1; i++)
{
//字符为数字时
if(Character.isDigit(charArr[i]))
{
for(int j=0; j<Integer.parseInt(charArr[i]+""); j++)
{
newStr+=charArr[i+1];
}
}else{
newStr+=charArr[i];
}
}
//打印最后结果
System.out.println(newStr);
}
}
追问
不做处理啊
追答
我以上代码就是按照最后一个是数字时不做处理写的
展开全部
从键盘取出字符!求len长度!循环截取字符串获取字符!.存入数组或其他集合中!在进行判断..
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把字符串toCharArray进行char[]数组遍历,获取数字前面的字母的ASCll码值,然后按照数字的值循环在前面ASCLL值的基础上+1,结束后整合一个新的char[],然后new String 输出就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单
追问
不好意思,我请的是大神们,不是您
追答
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s="";
for(;true;){
System.out.println("---这是一个将输入字串中数字替换为其后字母的一个程序,结束命令:-e\n请输入待操作字符串:");
s=scan.nextLine();
if(s.equals("-e"))break;
System.out.println("你输入的字符串为:"+s);
//待处理转换为字符数组,并遍历数组
char[] str=s.toCharArray();
for(int i=str.length-1;i>=0;i--){
//判断元素是否为数字
if(Character.isDigit(str[i])){
//判断是否为末位
if(i!=str.length-1){
str[i]=str[i+1];
}
continue;
}
continue;
}
String newstr=new String(str);
System.out.println("转换后的字符串为:"+newstr);
}
//关闭输入流,准备退出
scan.close();
System.out.println("程序已退出。");
}
}
你看我这个行不?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询