Tag: printf

美元符号($)在printf格式字符串中做什么?

我正在尝试使用printf语句在java中格式化,如在此网页中: 单击此处 。 但我无法弄清楚$ sign的目的是什么。 有人可以向我解释一下吗? 输入: 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("================================"); } }

Eclipse Java printf问题PrintStream不适用

我正在编写一个编程课程的介绍,我遇到的问题是我的Eclipse似乎不想以最简单的forms运行printf 。 我的代码是: package Practice; import java.io.*; public class Printf { public static void main(String[] args) throws IOException { int num1 = 54; int num2 = 65; int sum = num1 + num2; System.out.printf(“Sum of %d and %d is %d.”, num1, num2, sum); } } 错误就是说 PrintStream类型中的printf(String, Object[])方法不适用于参数(String, int, int, int) 我将Java编译器合规性级别设置为1.8,因此它应该没有问题,因为我在之前的post中已经阅读过。 Kepler版本的Eclipse已经应用了Java 8补丁(因此我可以遵守1.8) 我找到的网站没有给我任何其他线索,问题是什么?

printf如何使用前导零进行浮点运算

我知道如何做X量的前导零,我知道如何做X小数点。 但是,我怎么做他们两个? 我希望有4个前导零到小数精度2:0000.00。 因此43.4将是0043.40

Java中System.out.printf命令的问题

我是编程新手,所以我事先道歉。 我正在运行一个程序,并且在Java中遇到System.out.printf方法的问题。 我知道程序中的其他所有内容都正常工作(测试过)。 然而,这似乎不起作用。 错误是: 线程“main”中的exceptionjava.util.IllegalFormatConversionException:d!= java.lang.Double at java.util.Formatter $ FormatSpecifier.failConversion(Unknown Source) at java.util.Formatter $ FormatSpecifier.printInteger(Unknown Source) at java.util.Formatter $ FormatSpecifier.print(Unknown Source) at java.util.Formatter.format(Unknown Source) 在java.io.PrintStream.format(未知来源) 在java.io.PrintStream.printf(未知来源) 在Advisor_Score.main(Advisor_Score.java:17) 我的代码是: import java.lang.Math; public class Advisor_Score { public static void main(String[] args){ double l[] = {101,1,1,1}; double k[] = {102,2,2,4}; double m[] = {103,5,5,5,5,5,5,5}; double All_users[][]={l,k,m}; double […]

如何在Java中正确使用printf格式化

我正在尝试创建一个简单的程序来接收三个项目,它们的数量和价格,并将它们全部加在一起以创建一个简单的收据类型格式。 我的教授给了我一个特定的收据格式,其中所有小数都排成一行并且一致。 它看起来应该是这样的。 Your Bill: Item Quantity Price Total Diet Soda 10 1.25 12.50 Candy 1 1.00 1.00 Cheese 2 2.00 4.00 Subtotal 17.50 6.25% Sales Tax 1.09 Total 18.59 我的教授指出名称应该有30个字符,数量和价格应该是10个字符和总数。 这样做我必须使用printf方法。 到目前为止,我正在尝试使用此代码对其进行格式化。 import java.util.Scanner; class AssignmentOneTest { public static void main(String[] args) { Scanner kb = new Scanner(System.in); // System.out.printf(“$%4.2f for each %s “, […]

如何使用printf()和可变宽度居中输出字符串? 【JAVA]

我正在使用printf()在Java中创建输出来创建表头。 其中一列需要可变宽度。 基本上它应该是这样的: //two coords Trial Column Heading 1 (20,30)(30,20) //three coords Trial Column Heading 1 (20,40)(50,10)(90,30) 我试过用: int spacing = numCoords * 7; //size of column printf(“Trial %*^s”, column, “Column Heading”); 但是当我尝试在转换语句中使用*或^时,我一直收到输出错误。 有谁知道正确的格式字符串应该是什么?

Java中printf的双%格式化问题

%s是printf一个字符串,%d是我认为的小数…但是在放入时 writer.printf(“%d dollars is the balance of %s\r\n”, bal, nm); ..抛出exception告诉我%d != lang.double。 想法?

这些符号字符串是什么意思:%02d%01d?

我正在寻找类似于的代码行: sprintf(buffer,”%02d:%02d:%02d”,hour,minute,second); 我认为符号字符串是指每小时,每分钟等显示的数字字符数 – 或类似的东西,我不完全确定。 通常我可以想出这种事情,但我一直无法在谷歌上找到任何有用的参考搜索“%02d%01d”。 谁能够为我阐明这一点?

Java printf使用可变字段大小?

我只是想将一些C代码转换为Java,而我在使用String.printf遇到了一些麻烦。 在C中,为了获得基于变量的特定宽度,我可以使用: printf(“Current index = %*d\n”, sz, index); 它会根据sz将整数格式化为特定大小。 试: System.out.println(String.format(“Current index = %*d\n”, sz, index)); 导致错误,因为它不喜欢* 。 我目前有以下kludge: System.out.println(String.format(“Current index = %” + sz + “d\n”, index)); 但是我希望有更好的方法,是吗?