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:
- package prjvardidil;
- //Faktoriyel
- import java.util.Scanner;
- public class padk {
- public static void main(String[] args){
- System.out.println("Faktöriyeli alınacak sayıyı lütfen giriniz. ");
- Scanner fakt=new Scanner(System.in);
- int sayi=fakt.nextInt();
- long sonucfakt=1;
- for(int i=1 ; i<=sayi ; i++)
- {
- sonucfakt*=i;
- }
- System.out.println("Girdiğiniz sayının faktöriyeli= "+sonucfakt);
- }
- }
Pastebin linki: http://pastebin.com/WyeD1SkW
Belirli bir aralıkta sayıları toplamak:- package optiongorsel;
- //Belirli bir aralik
- import javax.swing.JOptionPane;
- public class gorselprogramming
- {
- public static void main(String[] args)
- {
- JOptionPane.showMessageDialog(null,"Belirli bir aralıkta ki sayıları toplayan programa hoşgeldiniz.");
- JOptionPane.showMessageDialog(null,"Hangi aralıkta ki sayıları toplamak istiyorsanız başlangıç ve bitiş değerlerini giriniz.");
- String ekran1=JOptionPane.showInputDialog("Başlangıç değerini giriniz: ");
- int number1=Integer.valueOf(ekran1);
- String ekran_2=JOptionPane.showInputDialog("Bitiş değerini giriniz :");
- int number2=Integer.valueOf(ekran_2);
- int toplam=0;
- for(int i=number1; i<=number2; i++)
- {
- toplam+=i;
- }
- JOptionPane.showMessageDialog(null, toplam, "Sonuç",JOptionPane.CLOSED_OPTION);
- }
- }
Pastebin linki: http://pastebin.com/RWsppT4j
Mükemmel sayı problemi:- package mukemmelbirsayi;
- //Mükemmel sayi
- import java.util.Scanner;
- public class Mukemmel {
- public static void main(String[] args) {
- Scanner klavye = new Scanner(System.in);
- int sayac=0;
- System.out.println("Kontrol etmek istediğiniz sayıyı giriniz: ");
- int sayi = klavye.nextInt();
- for (int i=1;i<=sayi/2;i++){
- if(sayi%i==0){
- sayac+=i;
- }
- }
- if(sayac==sayi){
- System.out.println(sayi+" sayısı mükemmel bir sayıdır.");
- }
- else{
- System.out.println(sayi+" sayısı mükemmel bir sayı değildir.");
- }
- }
- }
Pastebin linki: http://pastebin.com/KnceLMgJ
Smith sayısı problemi:- package odev5soru1;
- // Smith sayisi
- import java.util.Scanner; // Klavyeden bilgi alalım.
- public class odev5sorubir {
- private static Scanner klavye; // Klavyeden bilgi almak için yazdık.
- public static void main(String[] args) {
- klavye = new Scanner(System.in);
- 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.
- int sayi = klavye.nextInt(); // Klavye scanner'ıyla aldığımız veriyi int tipinde sayi değişkenine atadık.
- if (Smith(sayi)) // Sayının rakamları toplamı ile asal çarpanlarının rakamlarının toplamını kontrol ediyor.
- System.out.println(sayi +" sayısı bir Smith sayısıdır.");
- else
- System.out.println(sayi + " sayısı bir Smith sayısı değildir.");
- }
- public static boolean Smith(int sayi) {
- int gecici = sayi, i; // İşlemleri halledebilmek için geçici sayılar oluşturduk.
- int asal_carpanlar = 0; // Asal çarpanları 0 dan başlattık.
- for (i = 2; gecici > 1; i++) { // İ'yi 1 arttırıp sürekli bölüyoruz.
- 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.
- 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.
- asal_carpanlar += i; // asal_carpanlar değişkenine i eklenir.
- i--; // i 1 azaltılır.
- }
- }
- return basamak_toplami(asal_carpanlar) == basamak_toplami(sayi); // asal çarpanlar sayi değişkenine eşit olana dek devam eder.
- }
- public static int basamak_toplami(int sayi){ // Rakamların toplamını bulmak için kurulan while döngümüz.
- int toplam = 0;
- while (sayi > 0) { // Döngü sayı 0 dan büyük olduğu sürece sürekli döner.
- toplam += sayi % 10; // Toplam değişkenine sayinin 10 ile bölümünden kalan eklenir.
- sayi /= 10; // sayi değişkeni tekrar 10'a bölünür.
- }
- return toplam;
- }
- }
Pastebin linki: http://pastebin.com/Y8Bf0RVi
Üş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