Професионална програма
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