java - 如何使用格式在 Java 中缩进

标签 java

我希望使用格式在 Java 中缩进打印行,但我对这个过程有点困惑。

我四处搜索,找到了this它提供了以下选项:

String prefix1 = "short text:";
String prefix2 = "looooooooooooooong text:";
String msg = "indented";
/*
 * The second string begins after 40 characters. The dash means that the
 * first string is left-justified.
 */
String format = "%-40s%s%n";
System.out.printf(format, prefix1, msg);
System.out.printf(format, prefix2, msg);

我在自己的代码中是这样实现的:

public class Main {

    public static void main(String[] args) {

        // Take in user input for report title
        System.out.println("Enter a title for this report");

        String msg = "=> ";
        String blank = "";

        String format = "%-4s%s%n";
        System.out.printf(format, blank, msg);
    }
}

我尝试使用以下方法删除空白:

public class Main {

    public static void main(String[] args) {

        // Take in user input for report title
        System.out.println("Enter a title for this report");

        String msg = "=> ";

        String format = "%-4s%s%n";
        System.out.printf(format, msg);
    }
}

但我在 IntelliJ IDEA 中收到以下错误:

Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%s' at java.base/java.util.Formatter.format(Formatter.java:2672) at java.base/java.io.PrintStream.format(PrintStream.java:1053) at java.base/java.io.PrintStream.printf(PrintStream.java:949) at Main.main(Main.java:32)

我的问题是,为什么需要第一个字符串?有没有办法在不声明我拥有的“空白”变量的情况下做到这一点?如果在某个地方回答了这个问题,我深表歉意,我搜索了但找不到。

这是我想要的输出:

Enter a title for this report
    =>

最佳答案

你只需要改变你的格式字符串:

String format = "%8s%n";

删除一个 %s,因为与您的示例代码相比,您传递的字符串少了一个,而 8 是第二行的缩进。

使用值 8 因为 1 个制表符 = 8 个空格

关于java - 如何使用格式在 Java 中缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54210688/

相关文章:

java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : 1 at beerregister. BeerRegister.list(BeerRegister.java:66)

java - 如何使用 IntelliJ 解决 Scala 中的异常?

java - Spring MVC : the difference between DeferredResult and ListenableFuture?

java - 如何保持代码整洁有序?

java - 如何将文本文件存储到数组中并计算其中有多少个单词

java - 错误播放声音java(无线匹配接口(interface)剪辑支持格式)

java - 在java中,嵌套类对象可以使用封闭类方法吗?

java - 我想给jdk 1.6添加一个外部库

java - 运行时异常无法启动 MainActivity

java - n 节点树和二叉树有什么区别?