1.reverse 后要怎么显现出来?
reverse 后要怎么显现出来?
解决方法较麻烦..提供源代码,idea不显示源码包算是抛砖引玉~~~
源码:
import java.util.ArrayList;
import java.util.List;
public class Reverse {
// 获取字符串str中所有值为fromch的字符的索引值
public static List<Integer> getIndexs(String str, char fromch) {
List<Integer> indexList = new ArrayList<Integer>();
char[] chs = str.toCharArray();
for (int i = 0; i < chs.length; i++) {
if (chs[i] == fromch) {
indexList.add(i);
}
}
return indexList;
}
// 将字符串str中所有罗列在indexs中的索引值对应的字符的值更改为字符toch
public static String change(String str, char toch, List<Integer> indexs) {
char[] chs = str.toCharArray();
for (int i : indexs) {
chs[i] = toch;
}
return new String(chs);
}
// 修改字符串,将其中的A转化为T,T转化为A,C转化为G,G转化为C
public static String trans(String str) {
List<Integer> indexsOfA = getIndexs(str, 'A');// 获得str中所有值为'A'的字符的全部索引值
List<Integer> indexsOfT = getIndexs(str, 'T');// 获得str中所有值为'T'的字符的全部索引值
List<Integer> indexsOfC = getIndexs(str, 'C');// 获得str中所有值为'C'的字符的全部索引值
List<Integer> indexsOfG = getIndexs(str, 'G');// 获得str中所有值为'G'的字符的全部索引值
str = change(str, 'T', indexsOfA);// T转化为A
str = change(str, 'A', indexsOfT);// A转化为T
str = change(str, 'G', indexsOfC);// G转化为C
str = change(str, 'C', indexsOfG);// C转化为G
return str;// 返回修改结果
}
public static void main(String[] args) {
String str = "ATCG";
System.err.println("初始字符串为:" + str);
// 调用StringBuilder类中的reverse方法翻转显示字符串
str = new StringBuilder(str).reverse().toString();
System.err.println("翻转后字符串为:" + str);
// 修改字符串,将其中的A转化为T,T转化为A,C转化为G,G转化为C
str = trans(str);
System.err.println("字符替换后字符串为:" + str);
}
}