//每组输入数据为两行,第一行为有关约德尔人历史的字符串,第二行是黑默丁格观测星空得到的字符串。
//(两个字符串的长度相等,字符串长度不小于1且不超过1000。)
//输出一行,在这一行输出相似率。用百分数表示。(相似率为相同字符的个数/总个数,精确到百分号小数点后两位。
//printf("%%");输出一个%。)
//测试用例:
//@!%12dgsa
//010111100
//输出结果:66.67%
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
String str1=input.nextLine();
String str2=input.nextLine();
//也可以使用char数组,通过str.toCharArray()获取字符数组,然后在下面的for中做相应修改。
String str3="";
int length=str1.length();
int total=0;
for(int i = 0; i < length; i++){
char c = str1.charAt(i);
if((c>='0'&&c<='9')||(c>='A'&&c<='Z')||(c>='a'&&c<='z')){
if(str2.charAt(i)=='1'){
total++;
}
}else{
if(str2.charAt(i)=='0'){
total++;
}
}
}
double result=(double)total*100/(double)length;
System.out.printf("%.2f%%",result);
input.close();
}
}
题外话:一开始把if语句中的0-9写成了1-9,一直报错,把我纳闷的,我还在想你这个赛码编译器怎么回事啊小老弟!然后找到错误以后……对不起大哥!!这种小错误真的是……emmmmmmm