0

如何正确调整代码中的数字?我是否应该插入 System.out.printf() 以及如何使用它?另外我怎样才能使数字左调整?

public class JTROLL
{
    public static void main(String[] Theory)
    {
        int k,i,j;

        System.out.print("The numbers are:"                                                );
        for (k = 0; k < 50; k++)
        {
            for ( i = k; i < 50; i++)
            {
                for ( j = i; j < 50; j++)
                {
                    if ( (k+1)*(k+1) + (i+1)*(i+1) == (j+1)*(j+1)                          )
                    {
                        System.out.println( "\n\t\t  " + (k+1) + ", "
                                                       + (i+1) + ", "
                                                       + (j+1)           );
                    }
                }
            }
        }
    }
}
4

3 回答 3

2

以下应该可以如您所愿。

import java.util.Formatter;

final public class Main
{    
    public static void main(String[] args)
    {
        Formatter fmt = new Formatter();
        fmt.format("|%10.2f|", 123.123);
        System.out.println(fmt);

        fmt = new Formatter();
        fmt.format("|%10.2f|", 1.13);
        System.out.println(fmt);

        fmt = new Formatter();
        fmt.format("|%10.2f|", 152123.16777);
        System.out.println(fmt);

        fmt = new Formatter();
        fmt.format("|%10.2f|", 99.777);
        System.out.println(fmt);
    }
}

您可能需要对其进行修改以适合您的格式。


它在控制台上产生以下输出。

|    123.12|
|      1.13|
| 152123.17|
|     99.78|
于 2012-07-01T20:43:26.640 回答
0
  1. 将您的数字和“,”分隔符附加到 StringBuilder。
  2. 找到你的 StringBuilder 的长度。
  3. 计算您需要将数字移到多远。
  4. 将适当数量的空格放入字符串中。
  5. println(spacerString + myStringBuilder.toString());
于 2012-07-01T20:35:59.387 回答
0

在http://docs.oracle.com/javase/tutorial/java/data/numberformat.html上有很多关于格式化的例子和解释。要正确调整整数,请使用以下内容:

System.out.println("The numbers are:");
for (k = 0; k < 50; k++) {
    for (i = k; i < 50; i++) {
        for (j = i; j < 50; j++) {
            if ((k + 1) * (k + 1) + (i + 1) * (i + 1) == (j + 1) * (j + 1)) {
                System.out.format("\t\t%3d,%3d,%3d%n", (k + 1), (i + 1), (j + 1));
            }
        }
    }
}
于 2012-07-01T20:36:04.280 回答