JAVA中输入字符串按逆序重新排列输出,输出的同时将字母进行大小写的重置

(1)利用Scanner类接受一串字符数据,(2)String类的length方法读取字符串长度(3)将字符串中的字符利用tochararray的方法转换成字符类型。、大写字母小写表示,。小写字母大写表示。并且逆序输出。

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一串字符: ");
String str = sc.nextLine();
char[] cr = str.toCharArray();
for(int i = 0; i < cr.length; i++){
if(cr[i] <= 'z' && cr[i] >= 'a'){
cr[i] = Character.toUpperCase(cr[i]);
}else{
cr[i] = Character.toLowerCase(cr[i]);
}
}
System.out.println("冒泡排序(从大到小): ");
for (int k = 0; k < cr.length - 1; k++) {
for (int j = k + 1; j < cr.length; j++) { // 升序把<改成>
if (cr[k] < cr[j]) {
char temp = cr[k];
cr[k] = cr[j];
cr[j] = temp;
}
}
}

for(int i = 0; i < cr.length; i++){
System.out.print(cr[i] + "\t");
}
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-05-31
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println("Input the String:");
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
char []c =  s.toCharArray();
for (int i = 0; i < c.length; i++) {
if(Character.isUpperCase(c[i])){//判断是否为大写
c[i] = Character.toLowerCase(c[i]);
}else if(Character.isLowerCase(c[i])){//判断是否为小写
c[i] = Character.toUpperCase(c[i]);
}
}
for(int j=0;j<c.length-1;j++){
for (int i = 1; i < c.length; i++) {
char temp;
if(c[i]>c[i-1]){
temp = c[i];
c[i] = c[i-1];
c[i-1] = temp;
}
}
}
System.out.println(c);
}
}

相似回答