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;
}
}
|
|