Loading...
v.dimitrov13 avatar v.dimitrov13 21 Точки

Programming Basics with Java - февруари 2018

Здравейте хора,
Искам да  помоля за малко помощ 
 

import java.math.BigDecimal;
import java.text.Format;
import java.util.Scanner;

public class Journey {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        BigDecimal budget = new BigDecimal(scanner.nextLine());
        String season = scanner.nextLine();
        String destinationResult = "";
        String holidayInformation = "";
        BigDecimal moneySpent = new BigDecimal("0.00");
        Format formatter = null;
        if (budget.compareTo(BigDecimal.valueOf(100.00)) <= 0){
            destinationResult = "Bulgaria";


            if (season.equals("summer")){
                moneySpent = BigDecimal.valueOf(0.30).multiply(budget);
                holidayInformation = String.format("Camp - %s", formatter.format(moneySpent));
            }else {
                moneySpent = BigDecimal.valueOf(0.70).multiply(budget);
                holidayInformation = String.format("Hotel - %s", formatter.format(moneySpent));
            }
        }else if (budget.compareTo(BigDecimal.valueOf(1000.00)) <= 0){
            destinationResult = "Balkans";
            if (season.equals("summer")){
                moneySpent = BigDecimal.valueOf(0.40).multiply(budget);
                holidayInformation = String.format("Camp - %s", formatter.format(moneySpent));
            }else{
                moneySpent = BigDecimal.valueOf(0.80).multiply(budget);
                holidayInformation = String.format("Hotel - %s", formatter.format(moneySpent));
            }
        }else {
            destinationResult = "Europe";
            moneySpent = BigDecimal.valueOf(0.90).multiply(budget);
            holidayInformation = String.format("Hotel - %s", formatter.format(moneySpent));
        }
        System.out.println(String.format("Somewhere in %s",destinationResult));
        System.out.println(holidayInformation);
    }
}

Tова ми кода. Задачата е Пътешествие. 
Като тръгва да въвеждам данни в конзолата не ми отпечатва нищо а ми дава грешка която не виждам къде е ...

Тагове:
0
Programming Basics with Java
Ivelin_Dimitrov avatar Ivelin_Dimitrov 148 Точки

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

За какво ти е Format formatter = null; ? Защо = null? Не разбирам какво се опитваш да направиш. Махни този formatter и предполагам че всичко ще работи. Ако искаш да закръгляш до определен знак примерно до 2 цифри след десетичната запетая, пробвай със %.2f, ще си работи, или можеш да използваш DecimalFormat сетваш си му патерн какъвто ти трябва и после форматираш

Примерно DecimalFormat df = new DecimalFormat("##0.##")

 

 Сега си намерих и моето решение на този проблем, виждам че съм изкарал 100/100 със double 

Твоят код дава 100/100 със %.2f. Даваше ти NullPointerExeption от форматера. https://pastebin.com/v0EwNb5h

 

public class NullPointerException
extends RuntimeException

Thrown when an application attempts to use null in a case where an object is required. These include:

  • Calling the instance method of a null object.
  • Accessing or modifying the field of a null object.
  • Taking the length of null as if it were an array.
  • Accessing or modifying the slots of null as if it were an array.
  • Throwing null as if it were a Throwable value.
0
27/02/2018 13:58:17
v.dimitrov13 avatar v.dimitrov13 21 Точки

Благодаря за съдействието.
Не ми печаташе нищо затова не съм качил грешката.
С Format formatter = null  декларирах  formatter.format, защото ми даваше с червено затова го използвах.
Но като го махнах кода тръгна, нещо бях тръгнал в друга посока...
Хубав ден !

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