Java 把China 翻译成密码 Glmre 要用五个变量c1到c5 和赋初值的方法来做,ok??thank you very much!

如题所述

第1个回答  推荐于2017-09-20
public class Test {
public static void main(String[] args){

Test t = new Test("China");
System.out.println(t.convert());
}

private String s;

public Test(String s){
this.setS(s);
}

public String convert(){
char c1,c2,c3,c4,c5;
c1 = (char) (s.charAt(0) + 4);
c2 = (char) (s.charAt(1) + 4);
c3 = (char) (s.charAt(2) + 4);
c4 = (char) (s.charAt(3) + 4);
c5 = (char) (s.charAt(4) + 4);
return "" + c1 + c2 + c3 + c4 + c5;
}

private void setS(String s){
if(s.matches("[a-zA-Z]{5}")){
this.s = s;
}else{
throw new RuntimeException("必须五位字母");
}
}
}本回答被提问者采纳
第2个回答  2014-09-18
String str="China";
char c1=(char) (str.charAt(0)+4);
char c2=(char) (str.charAt(1)+4);
char c3=(char) (str.charAt(2)+4);
char c4=(char) (str.charAt(3)+4);
char c5=(char) (str.charAt(4)+4);

StringBuffer sb=new StringBuffer();
sb.append(c1);
sb.append(c2);
sb.append(c3);
sb.append(c4);
sb.append(c5);
System.out.println(sb);
第3个回答  2014-09-18
用ASCII吗 密码都比原文多5个追问

我知道了,在输出的时候把int型的(c1+4)用强制类型转换成char就可以了