31 Ocak 2017 Salı

Basit Java Kodları


Algoritma derslerine çalışırken bir kenara not aldığım birkaç temel Java kodunu burada paylaşıyorum.
Java'ya henüz başlangıç aşamasındaysanız eğer, faydalı olabileceğini düşünüyorum.

Faktöriyel hesabı kodu:
  1. package prjvardidil;
  2. //Faktoriyel
  3. import java.util.Scanner;
  4. public class padk {
  5. public static void main(String[] args){
  6.         System.out.println("Faktöriyeli alınacak sayıyı lütfen giriniz. ");
  7.         Scanner fakt=new Scanner(System.in);
  8.         int sayi=fakt.nextInt();
  9.         long sonucfakt=1;
  10.         for(int i=1 ; i<=sayi ; i++)
  11.         {
  12.                 sonucfakt*=i;
  13.         }
  14.         System.out.println("Girdiğiniz sayının faktöriyeli= "+sonucfakt);
  15. }
  16. }
Belirli bir aralıkta sayıları toplamak:
  1. package optiongorsel;
  2. //Belirli bir aralik
  3. import javax.swing.JOptionPane;
  4. public class gorselprogramming
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 JOptionPane.showMessageDialog(null,"Belirli bir aralıkta ki sayıları toplayan programa hoşgeldiniz.");
  9.                 JOptionPane.showMessageDialog(null,"Hangi aralıkta ki sayıları toplamak istiyorsanız başlangıç ve bitiş değerlerini giriniz.");
  10.                 String ekran1=JOptionPane.showInputDialog("Başlangıç değerini giriniz: ");
  11.                 int number1=Integer.valueOf(ekran1);
  12.                 String ekran_2=JOptionPane.showInputDialog("Bitiş değerini giriniz :");
  13.                 int number2=Integer.valueOf(ekran_2);
  14.                 int toplam=0;
  15.                 for(int i=number1; i<=number2; i++)
  16.                 {
  17.                         toplam+=i;
  18.                 }
  19.                 JOptionPane.showMessageDialog(null, toplam, "Sonuç",JOptionPane.CLOSED_OPTION);
  20.         }
  21. }
Mükemmel sayı problemi:
  1. package mukemmelbirsayi;
  2. //Mükemmel sayi
  3. import java.util.Scanner;
  4. public class Mukemmel {
  5.     public static void main(String[] args) {
  6.         Scanner klavye = new Scanner(System.in);
  7.         int sayac=0;
  8.         System.out.println("Kontrol etmek istediğiniz sayıyı giriniz: ");
  9.         int sayi = klavye.nextInt();
  10.         for (int i=1;i<=sayi/2;i++){
  11.         if(sayi%i==0){
  12.         sayac+=i;
  13.         }
  14.         }
  15.         if(sayac==sayi){
  16.                 System.out.println(sayi+" sayısı mükemmel bir sayıdır.");
  17.         }
  18.         else{
  19.                 System.out.println(sayi+" sayısı mükemmel bir sayı değildir.");
  20.         }
  21.     }
  22. }
Smith sayısı problemi:
  1. package odev5soru1;
  2. // Smith sayisi
  3. import java.util.Scanner; // Klavyeden bilgi alalım.
  4. public class odev5sorubir {
  5.         private static Scanner klavye; // Klavyeden bilgi almak için yazdık.
  6.         public static void main(String[] args) {
  7.                 klavye = new Scanner(System.in);
  8.                 System.out.println("Smith sayısı olup olmadığını kontrol etmek istediğiniz sayı nedir? Yazıp Enter'layınız."); // Ekrana yazdırdığımız kod.
  9.             int sayi = klavye.nextInt(); // Klavye scanner'ıyla aldığımız veriyi int tipinde sayi değişkenine atadık.
  10.         if (Smith(sayi)) // Sayının rakamları toplamı ile asal çarpanlarının rakamlarının toplamını kontrol ediyor.
  11.         System.out.println(sayi +" sayısı bir Smith sayısıdır.");
  12.         else
  13.                 System.out.println(sayi + " sayısı bir Smith sayısı değildir.");
  14.         }
  15.         public static boolean Smith(int sayi) {
  16.         int gecici = sayi, i; // İşlemleri halledebilmek için geçici sayılar oluşturduk.
  17.         int asal_carpanlar = 0;  // Asal çarpanları 0 dan başlattık.
  18.         for (i = 2; gecici > 1; i++) { // İ'yi 1 arttırıp sürekli bölüyoruz.
  19.         if (gecici % i == 0) { // Bölünen sayının i'yle bölümünden kalan 0 ise asal çarpanlar değişkenine eklenir.
  20.         gecici /= i; // İ değişmez gecici değişkeni i'ye bölünür ve bölümden çıkan sonuç gecici değerine atanır.
  21.         asal_carpanlar += i; // asal_carpanlar değişkenine i eklenir.
  22.         i--; // i 1 azaltılır.
  23.         }
  24.         }
  25.         return basamak_toplami(asal_carpanlar) == basamak_toplami(sayi); // asal çarpanlar sayi değişkenine eşit olana dek devam eder.
  26.         }
  27.         public static int basamak_toplami(int sayi){ // Rakamların toplamını bulmak için kurulan while döngümüz.
  28.         int toplam = 0;
  29.         while (sayi > 0) { // Döngü sayı 0 dan büyük olduğu sürece sürekli döner.
  30.         toplam += sayi % 10; // Toplam değişkenine sayinin 10 ile bölümünden kalan eklenir.
  31.         sayi /= 10; // sayi değişkeni tekrar 10'a bölünür.
  32.         }
  33.         return toplam;
  34.         }
  35.         }
Üşendiğim için hepsini buraya aktaramadım. Geri kalan notlarıma şu linkten ulaşabilirsiniz.
İyi çalışmalar dilerim.
Mehmet Gündoğdu
mehmetgundogdu@outlook.com

Hiç yorum yok:

Yorum Gönder