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 に答える