⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
public class StrMirror {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = sc.next();
System.out.println("str = " + str);
//String revStr = reverse1(str);
//System.out.println("revStr = " + revStr);
System.out.println("请输入逆转次数:");
int num = sc.nextInt();
for (int i = 0; i < num; i ++) {
str = str + reverse1(str);
}
System.out.println("mirror str = " + str);
}
public static String reverse1(String str) {
int length = str.length();
if (length <= 1) {
return str;
}
String left = str.substring(0, length / 2);
String right = str.substring(length / 2, length);
return reverse1(right) + reverse1(left);
}
}
我不敢休息,因为我没有存款;
我不敢说累,因为我没有成就;
我不敢偷懒,因为我还要生活;
我能放弃选择,但是我不能选择放弃。
所以坚强,拼搏是我唯一的选择。
世上没有一件工作不辛苦,
没有一处人事不复杂。
即使你再排斥现在的不愉快,
光阴也不会过得慢点。
所以不要随意发脾气,谁都不欠你的。
要学会低调,取舍间必有得失,
不用太计较。......
答案就在这里:我不敢!⋯⋯⋯⋯致所有拼搏的年輕人
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
这种题目很简单了,按照字符排序的方案解就好了。
参考:
public static String stringMirror(String v, int n) {
int length = v.length();
char[] chars = new char[2 * length];
for (int i = 0; i < length; ++i) {
chars[i] = v.charAt(i);
chars[length+i] = v.charAt(length - i - 1);
}
if (--n < 1) {
return new String(chars);
} else {
return stringMirror(new String(chars), n);
}
}
这个题目很简单啊,就是将每次得到的字符串反转并与之前的字符串拼接在一起,
并将此时的字符串当做输入串再做照镜子处理(字符串反转),依次类推即可........
额,这个题目就是将字符串逆转,我自己简单的写了一下:
public static String reverse1(String str) {
int length = str.length();
if (length <= 1) {
return str;
}
String left = str.substring(0, length / 2);
String right = str.substring(length / 2, length);
return reverse1(right) + reverse1(left);
}
public static String stringMirror(String v, int n) {
int length = v.length();
char[] chars = new char[2 * length];
for (int i = 0; i < length; ++i) {
chars[i] = v.charAt(i);
chars[length+i] = v.charAt(length - i - 1);
}
if (--n < 1) {
return new String(chars);
} else {
return stringMirror(new String(chars), n);
}
}
package com.reflection;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = sc.nextLine().trim();
System.out.println("请输入照镜子次数:");
int n = sc1.nextInt();
StringBuilder sbr = new StringBuilder(str);
while(n > 0) {
for(int i=sbr.length()-1;i>=0;i--)
sbr = sbr.append(sbr.charAt(i));
n--;
}
System.out.print(sbr);
}
}
package TwoWeek;
import java.lang.String;
import java.util.*;
public class CharTest {
public static void main(String args[]){
printCharMirror();
}
public static void printCharMirror(){
// 一次字符串变换
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = sc.next();
System.out.println("请输入逆转次数:");
int num = sc.nextInt();
sc.close();
System.out.println(charMirror(str, num));
}
public static String charMirror(String str, int n){
// 将字符串str翻转后,并复制n次相连接
String temp = Mirror(str);
String result = new String();
for(int i = 0; i < n; i++){
result += temp;
}
return result;
}
public static String Mirror(String str){
// 将字符串翻转
String result = new String();
String temp = str;
for (int i = str.length() - 1; i >= 0; i--) {
result += String.valueOf(str.charAt(i));
}
result = temp + result;
return result;
}
}