作者MephistoH (默非斯托)
看板java
标题Re: [问题]今年台银IT人员招考试题
时间Mon Nov 22 11:56:29 2010
为啥要写这里麻烦??
不就是把 ascII码都加上位移数就好了吗 = =?
我改一下你的程式 .
※ 引述《bleed1979 (十三)》之铭言:
public class Encoding {
public static void main(String[] args) {
System.out.println(new Compress().go(65488973,"MEET ME XXX"));
}
}
class Compress {
public String go(int k, String inPutString) {
k=k%26; //一定要看到%你才高兴?
char[] inputChar=inPutString.toCharArray();
StringBuffer outputString =new StringBuffer();
for(int i=0;inputChar.length>i;i++){
if(!(inputChar[i]==' ')){
inputChar[i]= (char)((int)inputChar[i] + k);
if(inputChar[i]>'Z'){
inputChar[i]=(char)(inputChar[i]-26); //超过Z要从头
}
outputString.append(inputChar[i]);
}else{
//有空格要填进去
outputString.append(inputChar[i]);
}
}
return outputString.toString();
}
}
这样超过Z就从头啦
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.109.150
1F:推 LPH66:呃, 'Z'+3 会变成 ']' 喔....(虽然不是什麽大问题就是) 11/22 13:59
2F:→ bleed1979:一切的一切都是为了省%运算。 11/22 20:08
3F:→ derekQQ:ㄎ,到底要省运算还是省buffer~ 11/22 21:43
※ 编辑: MephistoH 来自: 59.120.109.150 (11/23 08:03)
4F:→ bleed1979:k=20101123,本程式应该RE吧,请解题。 11/23 13:09
5F:→ bleed1979:不过应该要看compile怎麽实作转型。 11/23 13:11
※ 编辑: MephistoH 来自: 59.120.109.150 (11/23 14:05)