Java:打印尾随空格

标签 java arrays string

我是 Java 的初学者,正在编写一段代码,首先要求用户输入整数总数,然后是整数本身。示例输入是:

4
1 4 3 2

代码需要将第二个输入反转为以下内容:

2 3 4 1

我的解决方案如下:

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int n = in.nextInt();
    int arr[] = new int[n];
    for(int arr_i=0; arr_i < n; arr_i++){
        arr[arr_i] = in.nextInt();
    }
    for(int reverse_i=n-1; reverse_i>=0; reverse_i--){
        System.out.print(arr[reverse_i]);
            if(reverse_i != 0){System.out.print(" ");}
    }
}

我的问题与在打印数字之间添加空格“”的代码有关。我想知道还有什么其他方法可以用来完成这项工作?感谢任何建议,谢谢。

最佳答案

反转字符串的简单方法是使用 StringBuilder 类:

一个选项是删除字符串末尾的空格,例如。删除最后一个字符

package stackoverflow.main;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        StringBuilder sb = new StringBuilder();

        for(int arr_i = 0; arr_i < n; arr_i++){
            sb.append(in.nextInt());
            sb.append(" ");
        }

        sb.deleteCharAt(sb.length() - 1);

        String normal = sb.toString();
        String reversed = sb.reverse().toString();

        System.out.println("normal: " + normal);
        System.out.println("reversed: " + reversed);
    }
}

另一种选择是检查您是否在循环的最后一个arr_i。 如果是,则不要添加空格

package stackoverflow.main;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        StringBuilder sb = new StringBuilder();

        for(int arr_i = 0; arr_i < n; arr_i++){
            sb.append(in.nextInt());
            if (arr_i != 3
                sb.append(" ");
        }

        String normal = sb.toString();
        String reversed = sb.reverse().toString();

        System.out.println("normal: " + normal);
        System.out.println("reversed: " + reversed);
    }
}

关于Java:打印尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44383773/

相关文章:

java - 如何计算以字符串形式给出的数学表达式?

c - 需要帮助从 Delphi 正确调用 C 函数

java - 我正在阅读图像并对其进行更改。但是没有保存更改

c - 解析域名

java - Primefaces 链接打开电子邮件撰写窗口

java - 变形金刚类设计

java - 新手遇到数组问题

Javascript - 从 n 个位置移动字符串的字符

c - C中字符串的所有可能组合

java - Spring @ConfigurationProperties 绑定(bind)在测试中失败