Wątek przeniesiony 2014-10-15 07:16 z Java przez bogdans.

Użycie operatora trójargumentowego

0

Witam,
chciałam napisać prosty kod na wypisanie mniejszej z dwóch liczb, jednak bez użycia pętli, a z wykorzystaniem operatora trójargumentowego.

import java.util.Scanner;
public class Mniejsza {
    public static void main(String[] args) {
    Scanner liczba=new Scanner(System.in);
    System.out.println("Podaj A: ");
    int min, a = liczba.nextInt();
    System.out.println("Podaj B: ");
    int b = liczba.nextInt();
    min = a<b ? a : b;
	}
}

Program się kompiluje, ale moje pytanie brzmi: co zrobić, aby wypisał mi mniejszą z liczb ? Mam problem z wyrzuceniem na ekran tej konkretnej wartości, oraz co w przypadku kiedy dla spełnionego warunku chcę wypisać konkretny komunikat, np.

import java.util.Scanner;
public class Mniejsza {
    public static void main(String[] args) {
    Scanner liczba=new Scanner(System.in);
    System.out.println("Podaj A: ");
    int a = liczba.nextInt();
    System.out.println("Podaj B: ");
    int b = liczba.nextInt();
    String min = a<b ? "Mniejsze jest a" : "Mniejsze jest b";
	}
}

to też się kompiluje, jednak pomimo użycia "" jak w książkowych przykładach łańcuch ten nie wyświetla się.

0

A gdzie jest instrukcja wypisywania min?

0

Rzeczywiście, nie myślę nic ;p Pierwszy przypadek poprawiony

import java.util.Scanner;
public class Mniejsza {
    public static void main(String[] args) {
    Scanner liczba=new Scanner(System.in);
    System.out.println("Podaj A: ");
    int min, a = liczba.nextInt();
    System.out.println("Podaj B: ");
    int b = liczba.nextInt();
    min = a<b ? a:b ;
    System.out.print(min);
	}
}

czyli mam rozumieć, że program zwraca gdzieś tam sobie tą mniejszą wartość, która może być użyta do późniejszych obliczeń, lub jak tu wypisana, jak uwzględnić zatem to w drugim przypadku, żeby od razu przypisać konkretny komunikat dla danej wartości ? bo idąc tym tropem powinnam zapisać podobnie min = a<b ? a:b ; a później, że jeśli to a, to komunikat "mniejsze jest A" i analogicznie z b, co robi się zbyt zakręcone, warunek w warunku (wciąż nie używam pętli ;)) ?

0

Dokładnie tak jak miałaś na początku:

String komunikat = a < b ? "a mniejsze" : "b mniejsze";
System.out.println(komunikat);
0

Właśnie próbowałam rozgryźć co oznacza wcześniejsza podpowiedź, gdyż ruszam od totalnych podstaw ;) Dziękuję bardzo, o to mi chodziło i mogę zasnąć spokojnie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1