Loading...

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

svetivdim avatar svetivdim 0 Точки

Задача Moving

Отново Compile time error.Моля за малко помощ.Благодаря предварително

Ето го и кода:

 

import java.util.Scanner;
 
public class Moving {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
int width = Integer.parseInt(scanner.nextLine());

//TODO: Read the length and height

int volume = width * length * height;

boolean hasVolume = true;

String command = scanner.nextLine();

while (!command.equals("Done"))

{

int box = Integer.parseInt(command);

volume -= box;
  if (volume < 0) {

hasVolume = false;

break;

}

command = scanner.nextLine();

}

if (hasVolume)

System.out.printf("%d Cubic meters left.", volume);

else

System.out.printf("No more free space! You need %d

Тагове:
0
Programming Basics
RusHrus avatar RusHrus 4 Точки

Предполагам, че на последния ред си пропуснал да довършиш. Липсват ти кавичките, данните за контейнера %d , скоба и точка и запетая разбира се.

0
damesova avatar damesova 203 Точки

Ако искаш да минеш без булеви променливи (или така наречените "флагчета"), можеш да го направиш while(true) {...} и вътре да си ифнеш, принтнеш и брейкнеш при настъпването на нужните обстоятелства. Нещо такова:

import java.util.Scanner;

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

        int w = Integer.parseInt(scanner.nextLine());
        int l = Integer.parseInt(scanner.nextLine());
        int h = Integer.parseInt(scanner.nextLine());

        int volume = w * l * h;

        while (true) {
            String input = scanner.nextLine();
            if (input.equals("Done")) {
                System.out.println(volume + " Cubic meters left.");
                break;
            }
            int box = Integer.parseInt(input);
            volume -= box;
            if (volume < 0) {
                System.out.printf(
                        "No more free space! You need %d Cubic meters more.",
                        Math.abs(volume));
                break;
            }
        }
    }
}

Обаче, ако ми позволиш да ти дам един съвет, който не е свързан с конкретна задача. 

Най-често програмите се чупят по два начина:

  • По време на самата компилация (тоест не може да се компилира въобще);

Това може да се дължи на структурни и синтактични грешки, като: несъответстващи скоби, разминаване в имената на Класа и файла, ако щеш и някоя главна буква или пък липсващ край на ред ";" и така нататък. Обикновено идето ти ги подчертава в червено. Също така като оувърнеш с мишката, ти подсказва какво не е наред...

  • По време на изпълнението на програмата.

ТОва означава, че програмата ти се  е компилирала, но нещо при изпълнението е фейлнало.. Причините също може да варират с голямо разнообразие - обикновено се "хвърля грешка", която описва къде и от какво естество е тя.

Аз няма да се задълбочавам повече, но понеже при теб се забелязва тенденция да допускаш често compile errors, те съветвам да си разцъкаш една семпла програмка, да се заиграеш с тези скоби - махни една скоба, сложи я другаде или въобще да я няма... виж какво ще стане... може даже да се окаже забавно... :)

Повярвай ми, тези неща остават трайно, когато сам си счупиш кода и знаеш кое до какво води... :)

0
13/05/2019 15:54:06
svetivdim avatar svetivdim 0 Точки

Благодаря ти много-както за задачата така и за съветите.Ще ги взема под внимание.Но човек винаги се учи нали така?За сега чао.Успех и до скоро

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