Loading...
DenisKP avatar DenisKP 2 Точки

07. Cinema Tickets - PROGRAMMING BASICS WITH JAVA - Nested Loops - Lab

Здравейте,

Имам средният проблем с тази задача - излиза ми грешка в Judge, а пък в IntelliJ решенията ми излизат както са по задание. Прикачвам условието и решението ми:

Вашата задача е да напишете програма, която да изчислява процента на билетите за всеки тип от продадените билети: студентски(student), стандартен(standard) и детски(kid), за всички прожекции. Трябва да изчислите и колко процента от залата е запълнена за всяка една прожекция.

Вход

Входът е поредица от цели числа и текст:

  • На първия ред до получаване на командата "Finish" - име на филма – текст
  • На втори ред – свободните места в салона за всяка прожекция – цяло число [1 … 100]
  • За всеки филм, се чете по един ред до изчерпване на свободните места в залата или до получаване на командата "End":
    • Типа на закупения билет - текст ("student", "standard", "kid")

Изход

На конзолата трябва да се печатат следните редове:

  • След всеки филм да се отпечата, колко процента от кино залата е пълна

"{името на филма} - {процент запълненост на залата}% full."

  • При получаване на командата "Finish" да се отпечатат четири реда:
    • "Total tickets: {общият брой закупени билети за всички филми}"
    • "{процент на студентските билети}% student tickets."
    • "{процент на стандартните билети}% standard tickets."
    • "{процент на детските билети}% kids tickets.

 

Решението ми:  https://pastebin.com/F8RRT73s

Тагове:
0
Programming Basics
MartinBG avatar MartinBG 4803 Точки
Best Answer

Имаше няколко проблема в решението.

Оправения код - сравнете го с Вашия и питайте, ако има нещо неясно:

import java.util.Scanner;

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

        int student = 0;
        int standard = 0;
        int kids = 0;
        int totalTickets = 0;

        String movie;
        while (!"Finish".equals(movie = scanner.nextLine())) {
            int seats = Integer.parseInt(scanner.nextLine());
            int movieTickets = 0;

            String type;
            while (movieTickets < seats && !"End".equals(type = scanner.nextLine())) {
                if ("student".equals(type)) {
                    student++;
                    movieTickets++;
                    totalTickets++;
                } else if ("standard".equals(type)) {
                    standard++;
                    movieTickets++;
                    totalTickets++;
                } else if ("kid".equals(type)) {
                    kids++;
                    movieTickets++;
                    totalTickets++;
                }
            }

            System.out.printf("%s - %.2f%% full.%n", movie, movieTickets * 100.0 / seats);
        }

        System.out.printf("Total tickets: %d%n", totalTickets);
        System.out.printf("%.2f%% student tickets.%n", student * 100.0 / totalTickets);
        System.out.printf("%.2f%% standard tickets.%n", standard * 100.0 / totalTickets);
        System.out.printf("%.2f%% kids tickets.", kids * 100.0 / totalTickets);
    }
}

 

0
DenisKP avatar DenisKP 2 Точки

Благодаря много. Успях да видя къде ми е грешката.

1
dZf1aeA-cocacola12 avatar dZf1aeA-cocacola12 16 Точки

I like all of your posts. You did a really good job. Thank you for the information, it helped me a lot. I hope to have more or more entries from you.

boxnovel

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