Как использовать printf для разделения нескольких десятичных чисел и округления всех этих чисел до 2 десятичных знаков - PullRequest
0 голосов
/ 02 ноября 2019

Я хочу использовать printf, чтобы упорядочить свои результаты кода. Результат моего кода будет иметь четыре десятичных числа. Все эти числа должны быть округлены до 2 десятичных мест и расположены в одной строке.

Я не знаю много о том, как использовать printf, я просто знаю, что %.2f может округлить мой ответ до 2 десятичных мест, и я не знаю, как это сделатьотдых.

import java.util.Scanner;
import java.text.DecimalFormat;
import java.io.PrintWriter;
public class CirclePoints
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);

        System.out.println("Please enter the radius of your circle: ");
        double radius = in.nextDouble();

        double x = 1.0;
        double z = x;
        double absY;
        double y1D;
        double y2D;
        double y1;
        double y2;

        System.out.println("Point on a circle with radius: " + radius);

        //System.out.printf(); want to get something like (x   y1   x   y2) as the reult that can match the bottom
        while(x >= -(z))
        {
            y1D = Math.sqrt((Math.pow(radius, 2) - Math.pow(x, 2)));
            y2D = -(Math.sqrt((Math.pow(radius, 2) - Math.pow(x, 2))));
            System.out.printf ("%.2f",x, y1D, y2D );
            x = x-0.1;
        }
    } 
}

Фактический выход должен быть примерно таким:

x y1 x y2

1,00 0,00 1,00 0,00

0,90 0,44 0,90 -0,44

...

-0,90 0,44 0,90 -0,44

-1,00 0,00 -1,00 0,00

1 Ответ

1 голос
/ 02 ноября 2019

Существует 4 различных метода построения печати в Java. По умолчанию пакет Java.lang был импортирован во все классы java, поэтому класс System находится в нем. Три из методов печати предшествуют System.out.. Это System.out.print, System.out.println, System.out.printf. Нет никакой разницы между print и println, за исключением того факта, что println (строка печати) переходит на новую строку после выполнения. printf называется форматом печати, что означает, что мы можем использовать символ % для обозначения особых случаев. Как %n указывает и %t новая вкладка. %.2f означает число с плавающей запятой с двумя десятичными точками, и оно будет округлено до ближайшего значения.

Как я уже упоминал выше, четвертый метод печати используется для представления результатов ошибок. Синтаксис должен быть System.err вместо System.out. Нет никакой разницы с обычными out.print методами и этими err.print методами, но результат отображается красным цветом.

Для изменения кода,

System.out.printf ("%.2f",x, y1D, y2D ); до

System.out.printf ("%.2f %.2f %.2f %.2f %n",x, y1D, x, y2D );

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...