【问题标题】:Print First N characters in reverse反向打印前 N 个字符
【发布时间】:2020-12-21 16:51:00
【问题描述】:
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

喜欢这个

【问题讨论】:

  • 在将 str 放入 StringBuilder 之前,只需将其子串即可
  • "int N = sc.nextInt();"有什么用如果你不在任何地方使用 N ?我想这是一些“自瞎”的问题,当你看清楚它时你会笑。

标签: java import output


【解决方案1】:

您根本没有在代码中拆分字符串。您需要的是.substring()。由于在 StringBuilder 上执行 .substring() 后无法反转单词,因此我们将创建自己的 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 = 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();
    }
}

【讨论】:

  • 感谢@Spectric
猜你喜欢
  • 2021-12-09
  • 2022-12-24
  • 2022-06-18
  • 2018-07-07
  • 2013-12-17
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
  • 2013-12-07
相关资源
最近更新 更多