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.  
  5. public class padk {
  6. public static void main(String[] args){
  7.         System.out.println("Faktöriyeli alınacak sayıyı lütfen giriniz. ");
  8.         Scanner fakt=new Scanner(System.in);
  9.         int sayi=fakt.nextInt();
  10.         long sonucfakt=1;
  11.         for(int i=1 ; i<=sayi ; i++)
  12.         {
  13.                 sonucfakt*=i;
  14.         }
  15.  
  16.         System.out.println("Girdiğiniz sayının faktöriyeli= "+sonucfakt);
  17.  
  18. }
  19. }
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.  
  11.                 String ekran1=JOptionPane.showInputDialog("Başlangıç değerini giriniz: ");
  12.                 int number1=Integer.valueOf(ekran1);
  13.                 String ekran_2=JOptionPane.showInputDialog("Bitiş değerini giriniz :");
  14.                 int number2=Integer.valueOf(ekran_2);
  15.                 int toplam=0;
  16.  
  17.                 for(int i=number1; i<=number2; i++)
  18.                 {
  19.                         toplam+=i;
  20.                 }
  21.                 JOptionPane.showMessageDialog(null, toplam, "Sonuç",JOptionPane.CLOSED_OPTION);
  22.  
  23.         }
  24.  
  25. }
Mükemmel sayı problemi:
  1. package mukemmelbirsayi;
  2. //Mükemmel sayi
  3. import java.util.Scanner;
  4.  
  5. public class Mukemmel {
  6.  
  7.     public static void main(String[] args) {
  8.         Scanner klavye = new Scanner(System.in);
  9.         int sayac=0;
  10.  
  11.         System.out.println("Kontrol etmek istediğiniz sayıyı giriniz: ");
  12.  
  13.         int sayi = klavye.nextInt();
  14.  
  15.         for (int i=1;i<=sayi/2;i++){
  16.  
  17.         if(sayi%i==0){
  18.  
  19.         sayac+=i;
  20.  
  21.         }
  22.  
  23.         }
  24.  
  25.         if(sayac==sayi){
  26.                 System.out.println(sayi+" sayısı mükemmel bir sayıdır.");
  27.         }
  28.  
  29.         else{
  30.                 System.out.println(sayi+" sayısı mükemmel bir sayı değildir.");
  31.         }
  32.     }
  33.  
  34. }
Smith sayısı problemi:
  1. package odev5soru1;
  2. // Smith sayisi
  3. import java.util.Scanner; // Klavyeden bilgi alalım.
  4.  
  5. public class odev5sorubir {
  6.  
  7.         private static Scanner klavye; // Klavyeden bilgi almak için yazdık.
  8.         public static void main(String[] args) {
  9.                 klavye = new Scanner(System.in);
  10.                 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.
  11.             int sayi = klavye.nextInt(); // Klavye scanner'ıyla aldığımız veriyi int tipinde sayi değişkenine atadık.
  12.         if (Smith(sayi)) // Sayının rakamları toplamı ile asal çarpanlarının rakamlarının toplamını kontrol ediyor.
  13.         System.out.println(sayi +" sayısı bir Smith sayısıdır.");
  14.         else
  15.                 System.out.println(sayi + " sayısı bir Smith sayısı değildir.");
  16.  
  17.         }
  18.  
  19.         public static boolean Smith(int sayi) {
  20.         int gecici = sayi, i; // İşlemleri halledebilmek için geçici sayılar oluşturduk.
  21.         int asal_carpanlar = 0;  // Asal çarpanları 0 dan başlattık.
  22.  
  23.         for (i = 2; gecici > 1; i++) { // İ'yi 1 arttırıp sürekli bölüyoruz.
  24.         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.
  25.         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.
  26.         asal_carpanlar += i; // asal_carpanlar değişkenine i eklenir.
  27.         i--; // i 1 azaltılır.
  28.         }
  29.         }
  30.  
  31.         return basamak_toplami(asal_carpanlar) == basamak_toplami(sayi); // asal çarpanlar sayi değişkenine eşit olana dek devam eder.
  32.         }
  33.         public static int basamak_toplami(int sayi){ // Rakamların toplamını bulmak için kurulan while döngümüz.
  34.         int toplam = 0;
  35.         while (sayi > 0) { // Döngü sayı 0 dan büyük olduğu sürece sürekli döner.
  36.         toplam += sayi % 10; // Toplam değişkenine sayinin 10 ile bölümünden kalan eklenir.
  37.         sayi /= 10; // sayi değişkeni tekrar 10'a bölünür.
  38.         }
  39.         return toplam;
  40.         }
  41.         }
Üş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