Професионална програма
Loading...
+ Нов въпрос
Smaxnatiq avatar Smaxnatiq 0 Точки

Loops - Exercise - 06. Salary

Здравейте, 
Judge дава 77/100  на тази задача. Не показва обаче къде е проблема.

https://pastebin.com/wQiyrN1p

Шеф на компания забелязва че все повече служители прекарват  време в сайтове, които ги разсейват.  

За да предотврати това, той въвежда изненадващи проверки на отворените табове на браузъра на служителите си. Според сайта се налагат различни глоби:

  • "Facebook" -> 150 лв.
  • "Instagram" -> 100 лв.
  • "Reddit" -> 50 лв.

От конзолата се четат два реда:

  • Брой отворени табове в браузъра n - цяло число в интервала [1...10]
  • Заплата - число в интервала [700...1500]

След това n – на брой пъти се чете име на уебсайт – текст

Ако по време на проверката заплатата стане по-малка или равна на 0 лева, на конзолата се изписва
"You have lost your salary." и програмата приключва. В противен случай след проверката на конзолата се изписва остатъкът от заплатата (да се изпише като цяло число).

Тагове:
0
Programming Basics with Java 20/04/2020 11:49:44
nickwork avatar nickwork 662 Точки
Best Answer

По скоро не изпълняваш това условие => Ако по време на проверката заплатата стане по-малка или равна на 0 лева, на конзолата се изписва  "You have lost your salary." и програмата приключва.

Или казано по друг начин в цикъла трябва да сложиш проверка дали заплатата не е станала   < 0 и ако да => прекъсваш цикъла и програмата като цяло

0
Smaxnatiq avatar Smaxnatiq 0 Точки

И аз това мислех, но как да добавя второто условие?

0
nickwork avatar nickwork 662 Точки

Трябва да е нещо такова...само да вмъкна, че не съм от js пътеката... пробвай го по този начин, смятам, че ще проработи

import java.util.Scanner;

public class Salary {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = Integer.parseInt(scanner.nextLine());
        int salary = Integer.parseInt(scanner.nextLine());

        for (int i = 0; i < n; i++) {
            String webSite = scanner.nextLine().toLowerCase();
            if (webSite.equals("facebook")) {
                salary = salary - 150;
            }
           else if (webSite.equals("instagram")) {
                salary = salary - 100;
            }
            else if (webSite.equals("reddit")) {
                salary = salary - 50;
            }

             if (salary <= 0){
                System.out.println("You have lost your salary");

                  break;
            }
        }
            if(salary>0)
                System.out.println(salary);
        }
    }

0
Smaxnatiq avatar Smaxnatiq 0 Точки

От 17 варианта, които пробвах само break не опитах. 
Проработи, благодаря!

0
NikiKa avatar NikiKa 15 Точки

import java.util.Scanner;

public class SalaryRestrictions {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int tabs = Integer.parseInt(scanner.nextLine());
        int salary = Integer.parseInt(scanner.nextLine());

        int facebook = 150;
        int instagram = 100;
        int reddit = 50;

        for (int i = 1; i <= tabs; i++) {
            String sites = scanner.nextLine();
            switch (sites) {
                case "Facebook":
                    salary -= facebook;
                    break;
                case "Instagram":
                    salary -= instagram;
                    break;
                case "Reddit":
                    salary -= reddit;
            }
            if (salary <= 0) {
                System.out.println("You have lost your salary.");
                return;
            }
        }

        if (salary >= 0) {
            System.out.println(salary);
        }
    }
}
 

0
RosenRPetrov avatar RosenRPetrov 15 Точки

package ProgrammingBasicsJava;

import java.util.Scanner;

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

        int openTabs = Integer.parseInt(scanner.nextLine());
        int salary = Integer.parseInt(scanner.nextLine());

        for (int i = 0; i < openTabs; i++) {
            String webSite = scanner.nextLine();

            switch (webSite) {
                case "Facebook":
                    salary -= 150;
                    break;
                case "Instagram":
                    salary -= 100;
                    break;
                case "Reddit":
                    salary -= 50;
                    break;
            }
            if (salary <= 0) {
                break;
            }
        }
         if (salary > 0) {
             System.out.println(salary);
         } else {
             System.out.println("You have lost your salary.");
         }
    }
}

 

0