Önceki paylaşımımda Java'da iki sayı nasıl karşılaştırılır örneğini verdikten sonra Java'da üç sayının nasıl karşılaştırılabileceğini inceleyelim. Programlama dillerinde, ikili karşılaştırma işlemlerini üç ve daha fazla sayıda değişken ile gerçekleştirmek çoğunlukla hata verir.
İki sayının karşılaştırılması için aşağıdaki ifade doğrudur ve boolean bir sonuç üretir:
sayi1 == sayi2
Ancak bu kod mantığı üç ve daha fazla değişken için uygulanamaz. Örneğin a, b ve c değişkenlerinin birbirleri ile aynı olup olmadıklarını kontrol etmek istiyorsak aşağıdaki kod hata verecektir:
sayi1 == sayi2 == sayi3 //hata
Peki üç sayının karşılaştırmasını nasıl yapacağız? Java'da mantık ifadelerini kullanarak.
(sayi1 == sayi2) && (sayi2 == sayi3) //doğru
Örnek: Kullanıcının girdiği üç sayıyı sıralayan programı zaten daha önce yapmıştık. Bu sefer sadece eşit olup olmadıklarını kontrol edelim. Ama problemi biraz zorlaştırmak için eğer üçlü karşılaştırma sağlanmazsa ikili karşılaştırmalara da bakalım.
Scanner girdi=new Scanner(System.in);
System.out.println("Lütfen ilk sayıyı yazın");
int sayi1=girdi.nextInt();
System.out.println("Lütfen ikinci sayıyı yazın");
int sayi2=girdi.nextInt();
System.out.println("Lütfen üçüncü sayıyı yazın");
int sayi3=girdi.nextInt();
if ((sayi1 == sayi2) && (sayi2 == sayi3))
System.out.println("üç sayı birbirine eşittir");
else
{
if (sayi1 == sayi2)
System.out.println("sadece "+sayi1+" ile "+sayi2+" eşittir");
else if (sayi2 == sayi3)
System.out.println("sadece "+sayi2+" ile "+sayi3+" eşittir");
else if (sayi1 == sayi3)
System.out.println("sadece "+sayi1+" ile "+sayi3+" eşittir");
else
System.out.println("Tüm sayılar birbirinden farklıdır");
}
Çıktı:
Lütfen ilk sayıyı yazın
> 1
Lütfen ikinci sayıyı yazın
> 2
Lütfen üçüncü sayıyı yazın
> 2
sadece 2 ile 2 eşittir