反向打印前 N 个字符
Print First N characters in reverse
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int N = sc.nextInt();
StringBuilder sb = new StringBuilder(str);
System.out.print(sb.reverse().toString());
}
}
输出应该是:-
apple
3
ppa
但我得到的是反向的完整字符串
elppa
像这样
您根本没有在代码中拆分字符串。你需要的是一个.substring()
。由于在 StringBuilder 上执行 .substring()
后无法反转单词,因此我们将创建自己的反转方法。试试这个:
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner sc = new Scanner(System. in );
String str = sc.nextLine();
int n = Integer.parseInt(sc.nextLine());
System.out.print(reverse(str.substring(0, n)));
sc.close();
}
public static String reverse(String text) {
return new StringBuilder(text).reverse().toString();
}
}
严格使用 StringBuilder 方法(按照您的要求),您可以:
import java.util.Scanner;
public class SplitReverse {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int n = Integer.parseInt(sc.nextLine());
StringBuilder sb = new StringBuilder(str);
sb=new StringBuilder(sb.substring(0,n));
System.out.println(sb.reverse());
sc.close();
}
}
但是,我会推荐这个:
import java.util.Scanner;
public class SplitReverse {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int n = Integer.parseInt(sc.nextLine());
StringBuilder sb = new StringBuilder(str.substring(0,n));
System.out.println(sb.reverse());
sc.close();
}
}
试试这个代码。我解决了同样的问题,我做对了。
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int N = sc.nextInt();
StringBuilder sb = new StringBuilder(str.substring(0,N));
System.out.print(sb.reverse().toString());
}
}
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int N = sc.nextInt();
StringBuilder sb = new StringBuilder(str);
System.out.print(sb.reverse().toString());
}
}
输出应该是:-
apple
3
ppa
但我得到的是反向的完整字符串
elppa
像这样
您根本没有在代码中拆分字符串。你需要的是一个.substring()
。由于在 StringBuilder 上执行 .substring()
后无法反转单词,因此我们将创建自己的反转方法。试试这个:
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner sc = new Scanner(System. in );
String str = sc.nextLine();
int n = Integer.parseInt(sc.nextLine());
System.out.print(reverse(str.substring(0, n)));
sc.close();
}
public static String reverse(String text) {
return new StringBuilder(text).reverse().toString();
}
}
严格使用 StringBuilder 方法(按照您的要求),您可以:
import java.util.Scanner;
public class SplitReverse {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int n = Integer.parseInt(sc.nextLine());
StringBuilder sb = new StringBuilder(str);
sb=new StringBuilder(sb.substring(0,n));
System.out.println(sb.reverse());
sc.close();
}
}
但是,我会推荐这个:
import java.util.Scanner;
public class SplitReverse {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int n = Integer.parseInt(sc.nextLine());
StringBuilder sb = new StringBuilder(str.substring(0,n));
System.out.println(sb.reverse());
sc.close();
}
}
试试这个代码。我解决了同样的问题,我做对了。
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int N = sc.nextInt();
StringBuilder sb = new StringBuilder(str.substring(0,N));
System.out.print(sb.reverse().toString());
}
}