我正在使用printf函数创建一个Celsius到Fahrenheit的转换表。
在我的笔记中,我发现我应该能够在%for printf之后立即使用^标记居中输出。但是,当我运行程序时,Netbeans总是给我一个错误消息。
我想知道是否有人可以帮助我集中我的输出。我的代码如下。
我查看了已经回答过的问题。然而,它们与我迄今为止在课堂上所教授的内容不符,因此 - 我无法使用它。
非常感谢任何帮助。
public class CelsToFahrTable {
/**
* Main argument prints a Celsius to Fahrenheit conversion table
* using integer Celsius degrees from 0 to 40
*/
public static void main(String[] args)
{
// declare variables
double Cels; //control variable (Celsius Temperature)
System.out.printf("%10s\t%10s%n", "Celsius", "Fahrenheit");
//prints headers Celsius and Fahrenheit at the top to signify what the data
//below means. Celsius should take up 10 columns then tab to Fahrenheit
//which again takes up 10 columns
for ( Cels = 0; Cels <= 40; Cels++)
//creates count-controlled loop using for statement
//Cels initialized to 0, continues expression until 40 and increments
//by 1 degree each time
System.out.printf("%10.0f%10.1f%n", Cels, 1.8*Cels+32.0);
//creates table showing Celsius temperature followed by its corresponding
//Fahrenheit temperature. Celsius temp is 10 columns with no decimals.
//Fahrenheit temp is 10 columns with a 1 decimal precision.
//Note: I tried to center each field using "^" but it gave me an error
//every time
}//end main
“^”将放在最后:
System.out.printf ("%^10.0f%^10.1f%n", Cels, 1.8*Cels+32.0"
----但是当我输入该代码时,我在Netbeans中收到错误。
答案 0 :(得分:0)
如果查看Formatter
javadoc,Java没有标记来使printf的输出居中,并且没有^
标志。
您的笔记可能是指Lava library,它附带了C printf函数的“高级”Java端口。正如在标志部分下的熔岩specification中所指定的那样,^
是居中输出的标志。
正如在其他地方指定的那样,您可以使用StringUtils.center中的Apache Commons Lang Library方法,或设计a method of your own。