Użycie operatora trójargumentowego

Użycie operatora trójargumentowego

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

WI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
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.

Kopiuj
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.

Kopiuj
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ę.

twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
0

A gdzie jest instrukcja wypisywania min?

WI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0

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

Kopiuj
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 ;)) ?

twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
0

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

Kopiuj
String komunikat = a < b ? "a mniejsze" : "b mniejsze";
System.out.println(komunikat);
WI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
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 :)

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.