您的位置:首页 > 其它

2015去哪儿笔试题目(一)

2015-04-01 11:21 127 查看
import java.util.Scanner;

/*

* 请完成右侧函数,该函数功能是解密一个给定字符串,解密的规则是将两个数字间(前面没有数字的情况下算开头和数字间)的字符串重复数字次数,

* 数字不会超过int表示的范围。

* 例如:a2bc3d1转换成aabcbcbcd。

*/

public class qunaerbishi {

public static void main(String[] args) {

// TODO Auto-generated method stub

char ch;//ch用于记录当前字符。

int num;//num用于记录循环次数。

System.out.println("请输入序列:");

String s,r="";//s用于记录输入串,r用于记录输出串。

String temp;//用于记录循环字符串。

Scanner in=new Scanner(System.in);

s=in.nextLine();

in.close();

for(int i=0;i<s.length();){

ch=s.charAt(i);

temp="";

int t=i;//用于记录当前i的位置。

int flag=0;//用于记录是否为连续字符串。

while(i<s.length()&&ch!='\n'&&(ch<='z'&&ch>='a'||ch<='Z'&&ch>='A')){

if(temp!="")

flag++;

temp+=ch;

i++;

ch=s.charAt(i);

System.out.println("temp..."+temp);

}

num=0;

while(i<s.length()&&ch!='\n'&&(ch<='9'&&ch>='0')){

if(num==0)

num=ch-'0';

else

num=num*10+(ch-'0');

i++;

if(s.length()>i+1)

ch=s.charAt(i);

else break;

System.out.println("num..."+num);

}

System.out.println("num2..."+num);

for(int j=0;j<num;j++){

r+=temp;

}

i=t+flag+1;

}

System.out.println("原始字符串为 :"+s);

System.out.println("解密后字符串为:"+r);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: