Loading...
SlaveiZaimov avatar SlaveiZaimov 0 Точки

Проблем със Math.round , Задача: лице на триъгълник .

Здравейте ! Опитвам се да реша " Задача: лице на триъгълник " , от учебника по програмиране за Java , но след като се опитам да сложа двойката в Math.round , за да ми закръгли и отпечата до 2 те цифри след детичния знак IntelliJ ми казва cannot resolve method ' round (double , int ) ' . Защо се получава така , и къде бъркам ? Това ми е кода :

import java.util.Scanner;
class Triagle
 {
    public static void main (String[]args){
        Scanner scanner = new Scanner(System.in);
        double a = Double.parseDouble(scanner.nextLine());
        double h = Double.parseDouble(scanner.nextLine());
        double area = a*b/2 ;
        System.out.println(Math.round(area, 2));

    }
}

 

П.П : След известно ровене в интернет намерих как да реша проблема . :) . Тук ми е била грешката Math.round(area*100.0)/100.0) . Math.round , приема само един параметър и го закръгля до цяло число . Съответно , за да го закръгли до втория знак след запетаята умножаваме по 100.0 полученото число след формулата , и после го делим на 100.0 и получаваме резултата до втората цифра след десетичния разделител . :)

0
Programming Basics with Java 15/02/2019 00:53:21
D.Dimov_96 avatar D.Dimov_96 74 Точки
Best Answer

Поздравления SlaveiZaimov за три неща.

Първо: Ресаваш задачите от учебника по програмиране за Java.

Второ: Попитал си във форума, когато си срещнал трудност.

Трето: Сам си се справил с проблема.

Като продължаваш така ще станеш отличен програмист.

0
ivanmitkoff avatar ivanmitkoff 3 Точки
Благодаря за отговора, и аз се сблъсках със същия проблем, но търсенето в интернет не даде резултат при мен.
0
Radoslav_Stamenov1992 avatar Radoslav_Stamenov1992 2 Точки
import java.text.DecimalFormat;
import java.util.Scanner;

public class Triangle_Area {
    public static void main(String[] args) {
        DecimalFormat df = new DecimalFormat("#.##");
        Scanner scanner = new Scanner(System.in);

        double a = Double.parseDouble(scanner.nextLine());
        double h = Double.parseDouble(scanner.nextLine());
        double area = a * h / 2.0;

        System.out.print("Triangle area = ");
        System.out.println(df.format(area));
    }
}

 

Реших задачата и по този начин - чрез т.нар. DecimalFormat и получавам в Judge 100/100 без проблем, но като памет е 62,09 MB.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.