Metody wyjasnienie

Metody wyjasnienie
Michal Omi
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:33
0

WItam, czy moglby mi ktos wyjasnic skad program wyswietla mi wartosci 10 i -10 przy wyswietalaniu go, nie moge do tego dojsc :/ screen zadanka jest zalaczony
Udanego wieczoru!

Kopiuj
public class CwIf{
    public static void main(String[]args){

        //       Napisz metodę, która sprawdzi czy temperatura przekazana jako argument jest dodatnia.

        int positiveTemperature = 10;
        int negativeTemperature = -10;

        isTemperaturePositive(positiveTemperature);
        isTemperaturePositive(negativeTemperature);
    }

    private static boolean isTemperaturePositive(int temperature) {
        boolean isPositive = temperature > 0;

        if (isPositive) {
            System.out.println("Temperatura " + temperature + " jest dodatnia.");
        }
        else {
            System.out.println("Temperatura " + temperature + " nie jest dodatnia.");
        }

        return isPositive;
    }
}
edytowany 2x, ostatnio: cerrato
katakrowa
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Chorzów
  • Postów:1670
0

A co program ma wyświetlać ?


Projektowanie i programowanie. Hobbystycznie elektronika i audio oszołom.
gk1982
  • Rejestracja:prawie 14 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Łódź
  • Postów:541
0

Tu masz ćwiczenie if, musisz wcześniej opanować co to jest zmienna i metoda.


Don't give up learning JavaScript!
It is enjoyable to make things visible which are invisible.
Każdy programista przybywający z innego miasta jest fachowcem.
Anyone who stops learning is old, whether at twenty or eighty.
Anyone who keeps learning stays young.
The greatest thing in life is to keep your mind young.
Michal Omi
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:33
0
katakrowa napisał(a):

A co program ma wyświetlać ?

Czy temperatura jest dodatnia czy ujemna i wlasnie wyswietla tylko nie rozumie do konca dlaczego tak a nie inaczej :P

Oziaka
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 2 lata
  • Postów:26
0

System.out.println() wyświetla tekst w konsoli

AK
  • Rejestracja:prawie 7 lat
  • Ostatnio:około miesiąc
  • Postów:3561
4

Na marginesie, tu jest typowy błąd projektowy początkujących, że funkcja coś robi, zwraca jakąś wartość, a oprócz tego drukuje na System.out
Ten wątek pokazuje, do czego to prowadzi


Bo C to najlepszy język, każdy uczeń ci to powie
SE
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:318
0
Michal Omi napisał(a):

Czy temperatura jest dodatnia czy ujemna i wlasnie wyswietla tylko nie rozumie do konca dlaczego tak a nie inaczej :P

Albowiem takie dostał polecenie.

Kopiuj
 isTemperaturePositive(positiveTemperature);
 isTemperaturePositive(negativeTemperature);

Najpierw wykonuje metodę isTempereturePositive z argumentem positiveTemperature (10), a potem dla negativeTemperature (-10).
PS. Ta metoda nie musi niczego zwracać.

edytowany 1x, ostatnio: Serechiel
DW
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 dni
  • Postów:64
0

Zdecydowanie lepszą praktyką będzie wydzielenie osobnej klasy. Spróbuj podchodzić do swoich problemów w sposób obiektowy.
Z temperaturą można zrobić wiele rzeczy, nie tylko sprawdzić czy jest dodatnia, ujemna. Możną ją przekonwertować do innych jednostek, przykładowo do temperatury Kelwina.
Wiele funkcjonalności możesz umieścić w klasię, którą nazwiemy procesorem temperatury w stopniach celsjusza (CelsiusTemperatureProcessor).

Dzięki temu w twojej klasie klienckiej (Metoda Main) możesz w bardzo czytelny sposób zwrócić rezultat swoich prac, ukrywając logikę przed użytkownikami, których nie interesuje sposób w jaki zaimplementowałeś metody a wyłącznie to, czy ich dane wejściowe (W tym przypadku temperatura) spełnia określone warunki.

Kopiuj
public class CelsiusTemperatureProcessor {

    private double temperature;

    public CelsiusTemperatureProcessor(double temperature) {
        this.temperature = temperature;
    }


    public boolean isTemperaturePositive() {
        return temperature > 0;
    }

    public boolean isTemperatureZero() {
        return temperature == 0;
    }

    public boolean isTemperatureNegative() {
        return temperature < 0;
    }

    public double convertToFahrenheitTemperature() {
        return temperature * 1.8d + 32;
    }

    public double convertToCalvinTemperature() {
        return temperature + 273.15d;
    }

}

class Main {

    public static void main(String[] args) {
        double celciusPositiveTemperature = 25d;
        CelsiusTemperatureProcessor temperatureProcessor = new CelsiusTemperatureProcessor(celciusPositiveTemperature);

        System.out.println("Negative: " + temperatureProcessor.isTemperatureNegative());
        System.out.println("Zero: " + temperatureProcessor.isTemperatureZero());
        System.out.println("Positive: " + temperatureProcessor.isTemperaturePositive());
        System.out.println("FahrenheitTemperature: " + temperatureProcessor.convertToFahrenheitTemperature());
        System.out.println("CalvinTemperature: " + temperatureProcessor.convertToCalvinTemperature());
    }
}

edytowany 1x, ostatnio: cerrato

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.