作业帮 > 综合 > 作业

用Java语言将字符串按照下面的要求输出:

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/23 05:36:35
用Java语言将字符串按照下面的要求输出:
要求一:
英文字母从A到Z,不区分大小写,
例如输入:Type后,输出:epTy
要求二:
同一个英文字母的大小写同时存在时,按照输入的顺序输出:
例如输入:BabA后,输出:aABb
要求三:
非英文字母的其他字符保持原来的位置
例如输入:Bv?e后,输出Be?v
用Java语言将字符串按照下面的要求输出:
public class Test {public static void main(String[] args) {Test t = new Test();System.out.println(t.sequenceString("BabA"));}public String sequenceString(String str) {char[] charArray = str.to...
再问: 大哥,你写的程序测试第二个条件的时候跟题目中的结果不一样,用问题!请检查。。。。。。
再答: public class TestSequenceString {

\x09public static void main(String[] args) {

\x09\x09TestSequenceString t = new TestSequenceString();
\x09\x09System.out.println(t.sequenceString2("BabA"));

\x09}

\x09public String sequenceString2(String str) {
\x09\x09char[] array = str.toCharArray();
\x09\x09for (int i = 0; i < array.length - 1; i++) {
\x09\x09\x09if (!isLetter(array[i])) {
\x09\x09\x09\x09continue;
\x09\x09\x09}

\x09\x09\x09for (int j = 0; j < array.length - 1 - i;) {
\x09\x09\x09\x09if (!isLetter(array[j]))
\x09\x09\x09\x09\x09continue;
\x09\x09\x09\x09for (int k = j + 1; j < array.length - 1 - i; k++) {
\x09\x09\x09\x09\x09if (!isLetter(array[k]))
\x09\x09\x09\x09\x09\x09continue;
\x09\x09\x09\x09\x09int result = isGreater(array[k], array[j]);
\x09\x09\x09\x09\x09if (result < 0) {
\x09\x09\x09\x09\x09\x09char c = array[k];
\x09\x09\x09\x09\x09\x09array[k] = array[j];
\x09\x09\x09\x09\x09\x09array[j] = c;
\x09\x09\x09\x09\x09}
\x09\x09\x09\x09\x09j = k;
\x09\x09\x09\x09}
\x09\x09\x09}

\x09\x09}

\x09\x09return String.valueOf(array);
\x09}

\x09public boolean isLetter(char value) {
\x09\x09return (value >= 'a' && value = 'A' && value