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

Dance hall - задача






Колеги, не мога да разбера, защо в judge ми дава Runtime Error?

import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int L = (Integer.parseInt(scanner.nextLine())) * 100;
        int W = (Integer.parseInt(scanner.nextLine())) * 100;
        int A = (Integer.parseInt(scanner.nextLine())) * 100;
        int roomArea = (L * W);
        int wardrobe = (A * A);
        int bench = (roomArea/10);
        int freespace = (roomArea - wardrobe - bench);
        int dancer = 7040;
        int dancers = freespace / dancer;


        System.out.println(dancers);




    }
}
Тагове:
0
Programming Basics with Java
bfartsov avatar bfartsov 12 Точки
Грешно си дефинирал  променливите, не трябва да са в скоби.

 

int L = Integer.parseInt(scanner.nextLine()) * 100;
        int W = Integer.parseInt(scanner.nextLine()) * 100;
        int A = Integer.parseInt(scanner.nextLine()) * 100;
0
14/09/2018 13:39:59
petkostoqnov avatar petkostoqnov 0 Точки

Благодаря, колега, но за съжаление същото нещо се случва ! (Runtime Error)

0
bfartsov avatar bfartsov 12 Точки

Също така трябва да махнеш "*100"

 

int L = Integer.parseInt(scanner.nextLine()) ;
        int W = Integer.parseInt(scanner.nextLine());
        int A = Integer.parseInt(scanner.nextLine());
0
bfartsov avatar bfartsov 12 Точки

Ето го моето решение:

import java.util.Scanner;

public class danceHall {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double  l = Double.parseDouble (scanner.nextLine());
        double w = Double.parseDouble (scanner.nextLine());
        double a = Double.parseDouble (scanner.nextLine());
        
        double room = (l*100)*(w*100);
       double wardrobe = (a*100)*(a*100);
       double bench = room/10;
       double freeSpace = room -wardrobe-bench;

       double numberDancers = freeSpace/(40+7000);
        System.out.printf("%.0f", Math.floor(numberDancers));


        

    }
}

 
0
14/09/2018 14:11:11
jorkaev avatar jorkaev 5 Точки

Ето как става :

import java.util.Scanner;

public class ZalaZaTanci {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Double l = Double.parseDouble(scanner.nextLine());
        Double w = Double.parseDouble(scanner.nextLine());
        Double a = Double.parseDouble(scanner.nextLine());
        Double area = (l * 100) * (w * 100);
        double garderob = (a * 100) * (a * 100);
        double peika = area / 10;
        double freearea = area - garderob - peika;
        double dancers = freearea / (40 + 7000);
        System.out.printf("%.0f",Math.floor(dancers));


    }
}
 

0
petkostoqnov avatar petkostoqnov 0 Точки

Благодаря !

0
s.simeonov7 avatar s.simeonov7 1 Точки

Привет, колега.

От това което тествах, runtime грешка изкарва защото се използва int вместо double.

Звездичките индикират Runtime-а. Пробвай да е с double и го форматирай.

import java.util.Scanner;

public class DanceHall {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        double L = Double.parseDouble(sc.nextLine()),
               W = Double.parseDouble(sc.nextLine()),
               A = Double.parseDouble(sc.nextLine());

        double cmL = (L * 100);
        double cmW = (W * 100);
        double cmA = (A * 100);

        double areaHall = cmL*cmW;
        double areaWardrobe = cmA*cmA;

//        System.out.printf("%.0f", areaHall);
//        System.out.printf("\n%.0f\n", areaWardrobe);

        double areaBench = areaHall / 10;
        double freeSpace = areaHall - areaWardrobe - areaBench;

        double dancers = Math.round(freeSpace) / (40 + 7000);

        System.out.printf("%.0f", dancers);

    }
}

 

0
14/09/2018 16:53:37
petkostoqnov avatar petkostoqnov 0 Точки

Здравей,

 

Да след като го написах с Double, излязоха нещата, но ми искаше и Math.floor !

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