public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N;
N = in.nextInt();
int w = 0;
int[] sum = new int[N];
for (w = 0; w < N; w++) {
sum[w] = 0;
int n = 0;
n = in.nextInt();
String a = new String();
String b = new String();
a = in.next();
b = in.next();
char[] A = new char[n];
char[] B = new char[n];
char[] nextA = new char[n];
boolean[] flag=new boolean[n];
int i = 0;
for (i = 0; i < n; i++) {
flag[i]=true;
A[i] = a.charAt(i);
nextA[i] = exam(A[i]);
B[i] = b.charAt(i);
if(B[i]!=nextA[i]){ sum[w]++;flag[i]=false;}
}//给A,B赋值,给next赋值
int k=0;
for(k=0;k<n;k++){
if(!flag[k]){
int j=k+1;
for(j=k+1;j<n;j++){
if(!flag[j]&&B[k]==nextA[j]&&nextA[k]==B[j]){ sum[w]--;flag[j]=true;break;}
}
}
flag[k]=true;
}
}
for (w = 0; w < N; w++) {
System.out.println(sum[w]);
}
}
public static char exam(char a){//返回与A配对的字符
switch(a){
case('A'):
return 'U';
case('U'):
return 'A';
case('C'):
return 'G';
case('G'):
return 'C';
default:
System.out.println("无此字符");
return a;
}
}
求教这个题怎么做呀,或者我这个哪里错了
你这个问题啊,咋说呢,对我程序员来说是不理解题目要干啥。我建议你最好用更简洁直接的方式表达一下题目。这样就会有人准确的给你解答了。