Десятичный формат?

#java #decimalformat

#java #десятичный формат

Вопрос:

Я только что написал лабораторную работу, которая должна подбрасывать две монеты 500 раз и подсчитывать, сколько раз были перевернуты орел и решка, и должна вычислять процент с точностью до десятой. Я помню шаблон для десятичного форматирования, но забыл, как его использовать. Кто-нибудь может помочь? Моя программа заключается в следующем:

 import java.util.Scanner;
import java.text.DecimalFormat;

public class Lab97a
{
        public static void main(String [] args)
        {


        Scanner input = new Scanner(System.in);
        DecimalFormat accuracy=new DecimalFormat("0.0");

        Dice coin;
        int numCoin;
        int numHeads;
        int numTails;
        int count;
        double percentageHeads;
        double percentageTails;

        coin=new Dice(2);
        numHeads=0;
        numTails=0;

        System.out.println("A coin is tossed 500 times. The results are asfollows: ");

        for (count=1;count<=500;count=count 1)
        {
            numCoin=coin.roll();
            if (numCoin==1)
            {
                numHeads =1;
            }
            if (numCoin==2)
            {
                numTails =1;
            }
        }
        percentageHeads=numHeads/5;
        percentageTails=numTails/5;
        System.out.println("Heads was flipped " numHeads " times,
" percentageHeads "%.");
        System.out.println("Tails was flipped " numTails " times, " percentageTails "%");
        }
}
  

Комментарии:

1. Вот совет: в следующий раз задавайте свой актуальный вопрос, а не несвязанный материал о подбрасывании монет. Например, «Как мне напечатать число с плавающей запятой с точностью до одной десятичной цифры? Вот код, который у меня уже есть, но я хотел бы изменить форматирование: [короткий фрагмент кода здесь, может быть, 5 строк] «. Более короткие вопросы дают лучшие ответы.

2. @Greg Спасибо за совет. Я буду иметь это в виду для будущих вопросов.

Ответ №1:

Похоже, вам просто нужно отформатировать точность с помощью, например, accuracy.format(percentageHeads) . Смотрите, NumberFormat.format(double) это DecimalFormat расширяется.

Ответ №2:

Для этого можно использовать метод String.format, как описано здесь:

    System.out.println(String.format("Heads was flipped %d times, %.2f %%"), numHeads,percentageHeads);