美元符号($)在printf格式的字符串中有什么作用? [重复] - java

This question already has answers here:

Selecting parameters in String.format() [duplicate]

(3个答案)

4年前关闭。

我正在尝试使用printf语句在Java中进行格式化,例如此网页:Click Here。但是我只是不知道$符号的目的是什么。有人可以向我解释一下吗?

输入:

java 100
cpp 65
python 50

预期的输出:(应该有一个空格而不是_)

 ================================
 java___________100 
 cpp___________065 
 python_________050 
 ================================

我的代码:

public class Solution {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("================================");
        for(int i=0;i<3;i++)
        {
            String s1=sc.next();
            int x=sc.nextInt();
            System.out.printf(s1 + "%03d", x);
            System.out.println();
        }
        System.out.println("================================");

    }
}

java参考方案

它是参数索引。 You can read the docs。我将尝试为您解释教程中的字符串:

String fmt = "%1$4s %2$10s %3$10s%n";

// format
cnsl.printft(fmt, "Items", "Quantity", "Price");
cnsl.printft(fmt, "-----", "-----", "-----");
cnsl.printft(fmt, "Tomato", "1 kg", "15");
cnsl.printft(fmt, "Potato", "5 kg", "50");
cnsl.printft(fmt, "Onion", "2 kg", "30");
cnsl.printft(fmt, "Apple", "4 kg", "80");

通常,格式为%[argument_index$][flags][width][.precision]conversion

在我们的示例中,#$指向printft()语句中的位置。我们有3个要格式化的字符串,因此为什么我们的格式化字符串具有1$2$3$。每个参数之间的宽度后面的数字。该宽度从0开始,这意味着实际宽度将为+1。 s是我们到字符串的转换,最后是%n新行。

Items      Quantity      Price
-----      --------      -----
Tomato     1 kg          15
Potato     5 kg          50
Onion      2 kg          30
Apple      4 kg          80

在Java中将华氏度转换为摄氏温度[重复] - java

This question already has answers here: Double value returns 0 [duplicate] (3个答案) 6年前关闭。 我正在尝试将华氏度转换为摄氏温度。现在当我使用此错误时:double fahrenheit=input.nextDouble(); double celsius= ( **5** /…

从long到int,如果long值足够小以适合int [重复] - java

This question already has answers here: Safely casting long to int in Java (10个回答) 7年前关闭。 如果long值足够小以适合int,可以自动将long转换为int吗?long i=1; int j=i; //Error Type mismatch: cannot convert…

除了在类上访问属性时,为什么类在Java中没有定义符号? [重复] - java

This question already has answers here: Are Java classes objects? (4个答案) 在8个月前关闭。 考虑最简单的示例。我们有public class Foo {} 因此我们可以说Foo.class // ==> class Foo 因此,有理由认为Foo应该是java.lang.Class…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

使用-source 8或更高版本来启用lambda表达式[重复] - java

This question already has answers here: Specifying java version in maven - differences between properties and compiler plugin (3个答案) 去年关闭。 当我尝试运行Maven构建时遇到构建错误。我创建了一个包含lambda函数的简单J…