现需要设计一个字符串加密程序
String getHint(String str, String key)
,该程序接收两个字符串变量分别为str和key,加密规则如下:
1.当str与key相同位置字符相同时,显示该字符;
2.当str与key相同位置字符不同且str中出现key中包含的字符时,str中该字符加密为+;
3.当str中某个字符不存在上述两种情况的字符加密为*。
函数调用示例:
getHint("AAAAA","HARPS"); //+A+++
getHint("HELLO","HARPS"); //H****
getHint("HEART","HARPS"); //H*++*
说明:只需要补全public static String getHint(String str, String key)
静态方法即可
输入样例:
AAAAA
HARPS
输出样例:
+A+++
裁判测试程序样例:
import java.util.Scanner;
public class Main {
public static String getHint(String str, String key)
{
/* 请在这里填写答案 */
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String str=in.nextLine();
String key=in.nextLine();
System.out.println(getHint(str,key));
}
}
我的代码:
char[] s=str.toCharArray();
char[] k=key.toCharArray();
String res="";
for (int i = 0; i < s.length; i++) {
for (int j = i; j < k.length; j++) {
if(s[i]==k[j]){
res+=s[i];
break;
}
else{
boolean flag=true;
for (int l = 0; l < k.length; l++) {
if(s[j]==k[l]){
res+="+";
flag=false;
break;
}
}
if(flag)
res+="*";
break;
}
}
}
return res;