黑马程序员技术交流社区

标题: 字符串转换成字符数组 [打印本页]

作者: 等待未来    时间: 2016-10-6 22:40
标题: 字符串转换成字符数组
package fuxi;

import java.util.Arrays;
import java.util.Scanner;

public class Demo10 {
        /*(第4题)从控制台接收一串字符串,完成以下要求(共8分)
         * a、将该字符串转换成字符数组(数组名为arr)(2分)
         * b、判断arr数组中第一个和最后一个字符是否相等如果不相等则互换(3分)
         * c、将互换后的arr中下标是偶数的字符用“*”号代替该元素(3分)
         * 比如:“sdfjasklf”转换成“*d*j*s*l*”
         */


public static void main(String[] args) {
       
        char[] arr = getChar();
        System.out.println("输入的字符串转为字符数组为" + Arrays.toString(arr));
        getChange(arr);
        System.out.println("交换后的字符数组为" + Arrays.toString(arr));
        changeTo(arr);
        System.out.println("替换后的字符数组为" + Arrays.toString(arr));
}

private static void changeTo(char[] arr) {
        for (int i = 0; i < arr.length; i++) {
                if (i % 2 == 0) {
                        arr[i] = '*' ;
                }
        }
}

private static void getChange(char[] arr) {
        if (arr[0] != arr[arr.length-1] && arr.length > 1) {
                char temp = arr[0];
                arr[0] = arr[arr.length-1];
                arr[arr.length-1] = temp;
        }
}

private static char[] getChar() {
        Scanner sc = new Scanner(System.in);
        char[] arr;
        System.out.println("请输入正确的字符串:");
        while(true){
                String s = sc.nextLine();
                if (s.length() > 0 ) {
                        arr = s.toCharArray();
                        break;
                }
                System.out.println("请输入正确的字符串:");
        }
        return arr;
}
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2