Java Çalışma Soruları

Daha önceki yazılarımızda Algoritma Sorularını sizlerle paylaşmıştım. Şimdiki yazımda Algoritma Sorularının Java kodlarını paylaşacağım.
Çözmemi istediğiniz sorular olursa yorum bırakabilirsiniz.

Uyarı: Yanlışlıklar olabilir. Lütfen yorumlarda belirtiniz.

Soru 1: Klavyeden rastgelen girilen 2 tane sayının karelerinin toplamını ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  IkiSayiKare {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi 1 giriniz: ");
        int sayi = input.nextInt();
        System.out.print("Sayi 2 giriniz: ");
        int sayi2 = input.nextInt();
        double toplam = Math.pow(sayi, 2) + Math.pow(sayi2, 2);
        System.out.println("Toplam: " + toplam);
    }
}

Soru 2: Klavyeden girilen 6 tane sayının toplamını ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  AltiSayiToplam {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int toplam = 0;
        int sayi;
        for (int i=1; i<=6; i++) {
            System.out.print("Sayi "+ i +" giriniz: ");
            sayi = input.nextInt();
            toplam += sayi;
        }
        System.out.println("Toplam: " + toplam);
    }
}

Soru 3: 1 ile 100 arasındaki sayıları toplamını ekrana yazan programı Java dilinde yazınız.

public class  Toplam {
    public static void main(String[] args) {
        int toplam = 0;
        for (int i=1; i<=100; i++) {
            toplam += i;
        }
        System.out.println("Toplam: " + toplam);
    }
}

Soru 4: 1 ile 100 arasındaki 3 ve 5 ‘in katlarını ekrana yazan programı Java dilinde yazınız.

public class  UcBesKatSayi {
    public static void main(String[] args) {
        for (int i=1; i<100; i++) {
            if (i%3==0 && i%5==0) {
                System.out.println(i);
            }
        }
    }
}

Soru 5: Klavyeden girilen bir sayının asal sayı olup olmadığını ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  AsalSayi {
    public static void main (String[] args) {
        boolean asalMi = true;
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi giriniz: ");
        int sayi = input.nextInt();
        for (int i=2; i<sayi; i++) {
            if (sayi%i == 0) {
                asalMi = false;
                break;
            }
        }
        if (asalMi)
            System.out.println("Sayi asaldir");
        else
            System.out.println("Sayi asal degildir");
    }
}

Soru 6: Klavyeden girilen bir sayının tek mi çift mi olduğunu ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  SayiTekCift {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi giriniz: ");
        int sayi = input.nextInt();
        if (sayi%2==0)
            System.out.print("Sayi ciftir");
        else
            System.out.print("Sayi tektir");
    }
}

Soru 7: Girilen n tane sayının ortalamasını ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  NSayiOrtalama {
    public static void main(String[] args) {
        float toplam = 0;
        int sayi;
        Scanner input = new Scanner(System.in);
        System.out.print("Kac tane sayi gireceksiniz: ");
        int n = input.nextInt();
        for (int i=1; i<=n; i++) {
            System.out.print("Sayi "+ i +" giriniz: ");
            sayi = input.nextInt();
            toplam += sayi;
        }
        float ortalama = toplam/n;
        System.out.println("Ortalama: " + ortalama);
    }
}

Soru 8: 1’den 1000’e kadar (1 ve 1000 dahil) olan sayıların toplamını ve ortalamasını ekrana yazan programı Java dilinde yazınız.

public class  SayiTopOrt {
    public static void main(String[] args) {
        float toplam = 0;
        int i;
        for (i=1; i<=1000; i++) {
            toplam += i;
        }
        float ortalama = toplam/i;
        System.out.println("Toplam: " + toplam);
        System.out.println("Ortalama: " + ortalama);
    }
}

Soru 9: Girilen vize ve final notuna göre öğrencinin kalıp kalmadığını ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  VizeFinalNot {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Vize notu giriniz: ");
        int vizeNot = input.nextInt();
        System.out.print("Final notu giriniz: ");
        int finalNot = input.nextInt();
        if (vizeNot*0.4 + finalNot*0.6 >= 50)
            System.out.print("Ogrenci gecti");
        else
            System.out.print("Ogrenci kaldi");
    }
}

Soru 10: Girilen bir sayının faktöriyelini ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  Faktor {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        int faktor;
        System.out.print("Sayi giriniz: ");
        int sayi = input.nextInt();
        if (sayi<=0) {
            System.out.print("Lutfen sifir veya daha buyuk bir sayi giriniz");
            return;
        }
        for (faktor=1; sayi>0; faktor*=sayi, sayi--);
        System.out.print("Faktor: " + faktor);
    }
}

Soru 11: ax²+bx+c=0 verilen denklemin köklerini bulan ve ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  DenklemKok {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("A sayisini giriniz: ");
        float a = input.nextInt();
        System.out.print("B sayisini giriniz: ");
        float b = input.nextInt();
        System.out.print("C sayisini giriniz: ");
        float c = input.nextInt();
        float delta = (float) (Math.pow(b, 2) - 4*a*c);
        if (delta > 0) {
            float x1 = (float) (-b + Math.sqrt(delta))/2*a;
            float x2 = (float) (-b - Math.sqrt(delta))/2*a;
            System.out.println("X1: " + x1);
            System.out.println("X2: " + x2);
        } else if (delta == 0) {
            float x1 = -b/2*a;
            System.out.println("X1: " + x1);
            System.out.println("X2: " + x1);
        } else {
            System.out.println("Reel kok yok");
        }
    }
}

Soru 12: Girilen sayının kaç basamak olduğunu ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  BasamakSayisi {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi giriniz: ");
        int sayi = input.nextInt();
        int basamak = 0;
        while(sayi>0) {
            sayi = sayi/10;
            basamak++;
        }
        System.out.print("Basamak sayisi: " + basamak);
    }
}

Soru 13: Girilen sayıya kadar olan 7 ve 3’ün katı olan sayıları ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  UcYediKatiSayi {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi giriniz: ");
        int sayi = input.nextInt();
        for (int i=1; i<sayi; i++) {
            if (i%3 == 0 && i%7 == 0) {
                System.out.println(i);
            }
        }
    }
}

Soru 14: Girilen sayının mutlak değerini ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  MutlakDeger {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi giriniz: ");
        int sayi = input.nextInt();
        if (sayi < 0) {
            sayi *= -1;
        }
        System.out.println("Mutlak Deger: " + sayi);
        // Mutlak deger fonksiyonu : Math.abs(sayi);
    }
}

Soru 15: n tane girilen sayı içerisinden pozitif, negatif sayıların ve 0 sayısının adedini ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  NegatifPozitifSifirAdet {
    public static void main(String[] args) {
        int neg=0, poz=0, sifir=0;
        int sayi;
        Scanner input = new Scanner(System.in);
        System.out.print("Kac tane sayi gireceksiniz: ");
        int n = input.nextInt();
        for (int i=1; i<=n; i++) {
            System.out.print("Sayi "+ i +" giriniz: ");
            sayi = input.nextInt();
            if (sayi == 0)
                sifir++;
            else if (sayi > 0)
                poz++;
            else
                neg++;
        }
        System.out.println("Pozitif Sayi Adedi: " + poz);
        System.out.println("Negatif Sayi Adedi: " + neg);
        System.out.println("Sifir Sayi Adedi: " + sifir);
    }
}

Soru 16: Rastgele girilen n tane sayı içerisinde tek sayıları 1 arttırıp karelerini alıp toplayan, çift sayıların kareköklerini alıp toplayan ve tek ve çift sayıların adetlerini ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  TekCiftToplamAdet {
    public static void main(String[] args) {
        float ttop=0, ctop=0;
        int tadet=0, cadet=0;
        int sayi;
        Scanner input = new Scanner(System.in);
        System.out.print("Kac tane sayi gireceksiniz: ");
        int n = input.nextInt();
        for (int i=1; i<=n; i++) {
            System.out.print("Sayi "+ i +" giriniz: ");
            sayi = input.nextInt();
            if (sayi%2==0) {
                ctop += Math.sqrt(sayi);
                cadet++;
            } else {
                ttop += Math.pow(sayi+1, 2);
                tadet++;
            }
        }
        System.out.println("Tek Sayi Toplam: " + ttop);
        System.out.println("Tek Sayi Adet: " + tadet);
        System.out.println("Cift Sayi Toplam: " + ctop);
        System.out.println("Cift Sayi Adet: " + cadet);
    }
}

Soru 17: Girilen kenar uzunluklarına göre üçgen oluşturup oluşturmadığını eğer oluşturuyorsa çevre ve alanını ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  Ucgen {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("1. kenar giriniz: ");
        float a = input.nextInt();
        System.out.print("2. kenar giriniz: ");
        float b = input.nextInt();
        System.out.print("3. kenar giriniz: ");
        float c = input.nextInt();
        if (a+b>c && a+c>b && b+c>a) {
            if (a==b && a==c) {
                System.out.println("Eskenar ucgendir");
            } else if (a!=b && a!=c && b!=c) {
                System.out.println("Cesitkenar ucgendir.");
            } else {
                System.out.println("Ikizkenar ucgendir.");
            }
            float cevre = a + b + c;
            float s = cevre/2;
            float alan = (float) Math.sqrt(s*(s-a)*(s-b)*(s-c));
            System.out.println("Cevre: "+ cevre);
            System.out.println("Alan: " + alan);
        } else {
            System.out.print("Ucgen olusturmaz");
        }
    }
}

Soru 18: Girilen sayının Tau sayı olup olmadığını ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  TauSayisi {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi giriniz: ");
        int sayi = input.nextInt();
        int bolen = 0;
        for (int i=1; i<=sayi; i++) {
            if (sayi%i == 0) {
                bolen++;
            }
        }
        if (sayi%bolen == 0) {
            System.out.println("Tau sayisi");
        } else {
            System.out.println("Tau sayisi degil");
        }
    }
}

Soru 19: Girilen aralıklardaki heterometrik sayıları ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  HeterometrikSayilar {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Alt deger giriniz: ");
        int alt = input.nextInt();
        System.out.print("Ust deger giriniz: ");
        int ust = input.nextInt();
        while (alt<ust) {
            System.out.println(alt*(alt+1));
            alt++;
        }
    }
}

Soru 20: Girilen bir sayının palidrom sayı olup olmadığını ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  PalidromSayi {
    public static void main (String[] args) {
        int yenisayi = 0;
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi giriniz: ");
        int sayi = input.nextInt();
        int x = sayi;
        while (x!=0) {
            int kalan = x%10;
            yenisayi = yenisayi*10 + kalan;
            x = (x-kalan)/10;
        }
        if (sayi == yenisayi) {
            System.out.print("Palidrom sayisidir.");
        } else {
            System.out.print("Palidrom sayisi degildir.");
        }
    }
}

Örnek 21: İki sayının toplamını hesaplayan ve sonucu ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  IkiSayiToplam {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi 1 giriniz: ");
        int sayi = input.nextInt();
        System.out.print("Sayi 2 giriniz: ");
        int sayi2 = input.nextInt();
        double toplam = sayi + sayi2;
        System.out.println("Toplam: " + toplam);
    }
}

Örnek 22: Kullanıcının girdiği bir sayının kare, küpü ve karekökünü hesaplayan ve bunları ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  SayiKareKupKareKok {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi 1 giriniz: ");
        int sayi = input.nextInt();
        System.out.println("Kare: " + Math.pow(sayi, 2));
        System.out.println("Kup: " + Math.pow(sayi, 3));
        System.out.println("Karekok: " + Math.sqrt(sayi));
    }
}

Örnek 23: Klavyeden bilinmeyen miktarda okutulan pozitif ve negatif tam sayıların ayrı ayrı toplamlarını, pozitif ve negatif sayıların adetlerini bulan ve sıfır sayısı girildiğinde programı sonlandıran sonuçları ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  Faktor {
    public static void main(String[] args) {
        float ptop=0, ntop=0;
        int padet=0, nadet=0;
        int sayi;
        Scanner input = new Scanner(System.in);
        do {
            System.out.print("Sayi giriniz: ");
            sayi = input.nextInt();
            if (sayi > 0) {
                ptop += sayi;
                padet++;
            }
            if (sayi < 0){
                ntop += sayi;
                nadet++;
            }
        } while (sayi != 0);
        System.out.println("Pozitif Sayi Toplam: " + ptop);
        System.out.println("Pozitif Sayi Adet: " + padet);
        System.out.println("Negatif Sayi Toplam: " + ntop);
        System.out.println("Negatif Sayi Adet: " + nadet);
    }
}

Örnek 24: Klavyeden girilen N tane sayma sayısından en büyük ve en küçük sayıları bulan ve bu sayıları ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  EnBuyukEnKucukSayi {
    public static void main(String[] args) {
        int enbuyuk, enkucuk, i=1;
        int sayi;
        Scanner input = new Scanner(System.in);
        System.out.print("Kac tane sayi gireceksiniz: ");
        int n = input.nextInt();
        System.out.print("Sayi "+ i +" giriniz: ");
        sayi = input.nextInt();
        enbuyuk=sayi;
        enkucuk=sayi;
        for (i=2; i<=n; i++) {
            System.out.print("Sayi "+ i +" giriniz: ");
            sayi = input.nextInt();
            if (sayi > enbuyuk) {
                enbuyuk = sayi;
            }
            if (sayi < enkucuk) {
                enkucuk = sayi;
            }
        }
        System.out.println("En buyuk: " + enbuyuk);
        System.out.println("En kucuk: " + enkucuk);
    }
}

Örnek 25: Bir sayının kendisi hariç pozitif tam sayı çarpanları (kalansız bölen sayıların) toplamı kendisine eşit olan sayıya mükemmel sayı denir. Klavyeden girilen bir sayının mükemmel sayı olup/olmadığını bulan ve sayı mükemmel sayı ise ekrana “mukemmel sayidir.” değilse “mukemmel sayi degildir.” ibaresini ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class MukemmelSayi {
    public static void main(String[] args) {
        int toplam=0, sayac=1;
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi giriniz: ");
        int sayi = input.nextInt();
        if (sayi == 1) {
            System.out.print(sayi + " mukemmel sayi degildir.");
        } else {
            while (sayac<sayi) {
                int kalan = sayi%sayac;
                if (kalan == 0) {
                    toplam += sayac;
                }
                sayac++;
            }
            if (toplam == sayi) {
                System.out.print(sayi + " mukemmel sayidir.");
            } else {
                System.out.print(sayi + " mukemmel sayi degildir.");
            }
        }
    }
}

Örnek 26: İki basamaklı iki doğal sayının birler basamağındaki rakamların toplamı 10 ve onlar basamağındaki rakamları aynı ise bu iki doğal sayıya bağdaşık sayı denir. Klavyeden girilen iki doğal sayının bağdaşık sayı olup/olmadığını bulan ve de bağdaşık sayı ise “Bagdasik sayilardir.” değilse “Bagdasik sayilar degil.” ibaresini ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  BagdasikSayi {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi 1 giriniz: ");
        int sayi = input.nextInt();
        System.out.print("Sayi 2 giriniz: ");
        int sayi2 = input.nextInt();
        if (sayi >= 10 && sayi <= 99 && sayi2 >= 10 && sayi2 <= 99) {
            int xBirler = sayi%10;
            int yBirler = sayi2%10;
            if ((xBirler + yBirler) == 10) {
                int xOnlar = (sayi-xBirler)/10;
                int yOnlar = (sayi2-yBirler)/10;
                if (xOnlar == yOnlar) {
                    System.out.println("Bagdasik sayilardir.");
                } else {
                    System.out.println("Bagdasik sayilar degildir.");
                }
            } else {
                System.out.println("Bagdasik sayilar degildir.");
            }
        } else {
            System.out.print("iki basamakli sayi giriniz");
        }
    }
}

Örnek 27: X ve Y bir tamsayı çifti olsun. X’nin kendisi hariç kalansız bölenlerinin toplamı Y’ye ve Y’nin kendisi hariç kalansız bölenlerinin toplamı X’e eşitse bu iki sayıya dost sayılar denir. Buna göre Klavyeden girilen iki tamsayının dost sayı olup/olmadığını bulan ve de dost sayı ise “Dost sayilar.” değilse “Dost sayi degiller.” ibaresini ekrana yazan programı Java dilinde yazınız. (220 ve 284 dost sayılardır)

import java.util.Scanner;
public class  DostSayi {
    public static void main(String[] args) {
        int xtop=0, ytop=0;
        Scanner input = new Scanner(System.in);
        System.out.print("Sayi 1 giriniz: ");
        int x = input.nextInt();
        System.out.print("Sayi 2 giriniz: ");
        int y = input.nextInt();
        int xsayac = x;
        int ysayac = y;
        xsayac--;
        while (xsayac!=0) {
            if (x%xsayac == 0) {
                xtop += xsayac;
            }
            xsayac--;
        }
        ysayac--;
        while (ysayac!=0) {
            if (y%ysayac == 0) {
                ytop += ysayac;
            }
            ysayac--;
        }
        if (xtop==y && ytop==x) {
            System.out.println("Dost sayilar");
        } else {
            System.out.println("Dost sayi degiller");
        }
    }
}

Örnek 28: Klavyeden bulunduğunuz yılı ve ürünün o günkü fiyatını giriniz. Her yıl enflasyon oranını % 15 kabul ederek önümüzdeki 18 yıl için; her bir yıl sonunda yılı, enflasyon farkını ve ayakkabının yeni fiyatını ekrana yazan programı Java dilinde yazınız.

import java.util.Scanner;
public class  AyakkabiEnflasyon {
    public static void main(String[] args) {
        double artis=0;
        int sayac;
        Scanner input = new Scanner(System.in);
        System.out.print("Yil giriniz: ");
        int yil = input.nextInt();
        System.out.print("Fiyat  giriniz: ");
        float fiyat = input.nextInt();
        System.out.println("\tYil\tArtis\tFiyat");
        for (sayac=1; sayac<=18; sayac++) {
            artis = fiyat * 0.15;
            fiyat += artis;
            yil++;
            System.out.println("\t"+yil+"\t"+artis+"\t"+fiyat);
        }
    }
}

“Java Çalışma Soruları” üzerine bir yorum

Yorum yapın