例如,我想将每个字符串向后打印两次(字符串 - > ggnniirrttss)
import java.util.Scanner;
public class ReverseDoubleChar {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a string ");
String str = input.nextLine();
String new_str = "";
String result = "";
for (int i = 0; i < str.length(); i++) {
result += str.substring(i, i + 1) + str.substring(i, i + 1);
String result2 = null;
result2 = result;
System.out.println(result2);
}
}
}
然而,当我输入这个代码时,我得到的只是
ss
tt
rr
ii
nn
gg
全部在新线路上。有谁知道如何解决这个问题?谢谢
请参阅我更改的行上的评论:
循环后打印最终结果
import java.util.Scanner;
public class ReverseDoubleChar {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a string ");
String str = input.nextLine();
String new_str = "";
String result = "";
for (int i = str.length() - 1; i >= 0; i--) { //Iterate through string backwards
result += str.substring(i, i + 1) + str.substring(i, i + 1); //Concatenation
String result2 = null;
result2 = result;
// System.out.println(result2); //Don't print each double char since you're concatenating above
}
System.out.println(result); //Print full double-charred string after loop
}
}
输出:
Enter a string
string
ggnniirrttss
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句