Професионална програма
Loading...
Georgik1 avatar Georgik1 2 Точки

Въпрос за задача от домашно 05.Projects Creation

Здравейте колеги,

Имам затруднение с решаването на задача 05. "Projects Creation" от Simple Operations and Calculations - Lab.

Кода, който създадох е 

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 1 project ~ 3h
        String firstName = scanner.nextLine();
        int projects = Integer.parseInt(scanner.nextLine());

        double hoursP = projects * 3;
        String hours = scanner.nextLine();

        System.out.printf("The architect %s will need %.0f hours to complete %.1s projects", firstName, hoursP, projects);


    }
}
Проблемът ми е, че задачата изисква само 2 входа, но не знам как да го направя с толкова и ми се получава вярно, но с 3 входа.
0
Programming Basics with Java 10/09/2019 13:26:58
sbboneva avatar sbboneva 25 Точки
Best Answer

Здравей,

Това е моето решение: 

import java.util.Scanner;

public class ProjectsCreation {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String nameArchitect = scanner.nextLine();
        int numberProjects = Integer.parseInt(scanner.nextLine());
        int time = numberProjects * 3;
        System.out.printf("The architect %s will need %d hours to complete %d project/s.", nameArchitect, time, numberProjects);
    }
}

като може и така:

import java.util.Scanner;

public class ProjectsCreation {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String nameArchitect = scanner.nextLine();
        int numberProjects = Integer.parseInt(scanner.nextLine());
        int hoursPerProject = 3;
        int time = numberProjects * hoursPerProject;
        System.out.printf("The architect %s will need %d hours to complete %d project/s.", nameArchitect, time, numberProjects);
    }
}

Часовете за един проект са ти константа - по 3 часа 

Всъщност този ред:

String hours = scanner.nextLine();

не го използваш и не ти е необходим. 

:)

0
GeryKMS avatar GeryKMS 1 Точки

Още един вариант на кода:

import java.util.Scanner;

public class ProjectsCreation {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String nameArchitect = scanner.nextLine();
        int numberProjects = Integer.parseInt(scanner.nextLine());
        
        System.out.printf("The architect %s will need %d hours to complete %d project/s.", nameArchitect, numberProjects * 3, numberProjects);
    }
}

Така се спестява променлива и програмата работи по-бързо. 

0