Java | Örnek Programlar

Alzhe01

Katılımcı Üye
9 Ara 2017
661
5
10ehzlA
ÖNCEKİ KONU İÇİN TIKLA

Java da Armstrong Sayı Bulma

Sayının basamaklarındaki rakamların küpleri toplamı kendisine eşit olan sayılara “Armstrong sayı” denir.

Örneğin; 371=3^3 + 7^3 + 1^3 = 27 + 343 + 1 = 371



JavaArmstrongSayi.java
Kod:
[COLOR="Lime"]
import java.math.*;
import java.util.Scanner;
/**
 *
 *    [USER=585213]author[/USER] Alzhe01
 */

public class JavaArmstrongSayi {
    public static vo id main(String args[]) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Sayi Giriniz : ");
        int deger = scan.nextInt();
        int n = deger;
        int kalan = 0;
        int yenideger = 0;
        int length = String.valueOf(deger).length();
        
        for(int i=1;i<=length;i++){
            kalan = deger%10;
            yenideger = yenideger + (int)Math.pow(kalan,length);
            deger = deger/10;
        }
        
        if(yenideger == n){
            System.out.println("Sayi Armstrong Sayidir : " + n + " = " + yenideger);
        }else{
            System.out.println("Sayi Armstrong Sayi Degildir");
        }
    }
}[/COLOR]

Çıktısı:

gPkov2.png




Sunucu Mesajlaşma Programı

sunucu.java

Kod:
[COLOR="Lime"]import java.io.*; 
import java.net.*;
/**
 *
 *    [USER=585213]author[/USER] Alzhe01
 */
public class sunucu {
    public static vo id main(String args[]) {
        ServerSocket yankisunucu = null;
        String line;
        DataInputStream is; 
        PrintStream os; 
        Socket istemcisoket = null;
        try { 
            yankisunucu = new ServerSocket(1234);
        }
        catch (IOException e) {
            System.out.println("sunucu acilma hatasi");
        }
        try {
            istemcisoket = yankisunucu.accept();
            is = new DataInputStream(istemcisoket.getInputStream());
            os = new PrintStream(istemcisoket.getOutputStream());
            while (true) {
                line = is. readLine(); os.println("Sunucudan gelen: "+ line);
            }
        }
        catch (IOException e) {
            System.out.println(e) ;
        }
    }
}[/COLOR]


istemci.java

Kod:
[COLOR="lime"]import java.io.*; 
import java.net.*; 
/**
 *
 *    [USER=585213]author[/USER] Alzhe01
 */
public class istemci { 
    public static vo id main(String[] args) throws IOException {
        Socket istemciSoket = null; 
        DataInputStream is = null; 
        PrintStream os = null; 
        DataInputStream inputLine =null; 
        try {
            istemciSoket = new Socket("127.0.0.1", 1234);
            os = new PrintStream( istemciSoket.getOutputStream());
            is = new DataInputStream( istemciSoket.getInputStream());
            inputLine = new DataInputStream( new BufferedInputStream( System.in));
        } catch (UnknownHostException e) {
            System.err.println("Sunucu bulamama hatasi"); 
        } catch (IOException e) {
            System.err.println("Sunucu baglanma hatasi");
        }
        if (istemciSoket != null && os != null && is != null) { 
            try {
                String satir; 
                os.println(inputLine.readLine());
                while ((satir = is.readLine()) != null) {
                    System.out.println(satir);
                    if (satir.indexOf("ACK") != -1) {
                        break;
                    }
            os.println(inputLine.readLine());
                }
                os.close();
                is.close();
                istemciSoket.close(); 
            }catch (UnknownHostException e) {
                System.err.println("Sunucu bulamama hatasi"); 
            }catch (IOException e) {
                System.err.println("Sunucu baglanma hatasi");
            }
        }
    }
}[/COLOR]

Çıktısı:


Lvp3vJ.png



NOT: sunucu.java , istemci.java'dan önce çalıştırılmalıdır. Aksi takdirde hata alabilirsiniz.




İş parçacıklarına örnek uygulama. Robotların çalışması:


UyurGezer.java

Kod:
[COLOR="lime"]/**
 *
 *    [USER=585213]author[/USER] Alzhe01
 */
public class UyurGezer {
    public static vo id main(String args[]) {
        Robot r1 = new Robot("Robot1");
        Robot r2 = new Robot("Robot2");
        Robot r3 = new Robot("Robot3");
        r1.start();
        r2.start();
        r3.start();
    }
}
[/COLOR]

Robot.java

Kod:
[COLOR="lime"]/**
 *
 *    [USER=585213]author[/USER] Alzhe01
 */
class Robot extends Thread {
    public Robot(String isim) {
        super(isim);
    }
           [USER=277185]over[/USER]ride
        public vo id run() {
            try {
                String isim = this.getName();
                for ( int i=0; i<5; i++ ) {
                    if ( ( isim.equals("Robot1") && (i==3) ) ) {
                        System.out.println(isim+"-> uyutuluyor");
                        Thread.sleep(100);
                    } else if ( (isim.equals("Robot2") && (i==2) ) ) {
                        System.out.println(isim+"-> uyutuluyor");
                        Thread.sleep(150);
                    } else if ( (isim.equals("Robot3") && ( i==4)) ) {
                        System.out.println(isim+"-> uyutuluyor");
                        Thread.sleep(250);
                    }
                    System.out.println(isim+"-->"+i);
                }
            } catch ( InterruptedException iEx ) {
                System.out.println("Hata olustu -->"+ iEx);
            }
        }
}
[/COLOR]

Çıktısı:

Z5Ldqa.png


Çalışma mantığına ilişkin olarak resim:


XbB4Gk.png




Kelime Bulma Oyunu


kelimebul.java


Kod:
[COLOR="Lime"]/**
 *
 *    [USER=585213]author[/USER] Alzhe01
 */
import java.io.*;
public class kelimebul{
        public static vo id main(String args[])throws IOException{
                String kelime = "alzhe";int i,tahmin=0,anahtar=0,dogru=0;
                String eldevar[] = new String[kelime.length()];

                System.out.println("Kelimeyi bulmak için 5 yanlış hakkınız var.");
                BufferedReader klavye = new BufferedReader(new InputStreamReader(System.in));

                for (i = 0; i < kelime.length(); i++){
                        eldevar[i] = "_ ";

                }

                finish:
                while(tahmin<6){
                        System.out.println("Bir harf giriniz (Kalan hakkiniz "+(5 -tahmin) +") : ");
                        String harf = klavye.readLine();
                        tahmin++;
                        for (i = 0; i < kelime.length(); i++){
                                if (kelime.charAt(i) == harf.charAt(0)){
                                        eldevar[i] = harf+" ";
                                        anahtar = 1;
                                        dogru++;
                                        if (dogru == kelime.length()) { 
                                            System.out.println("kelime " +kelime+"...Tebrikler..."); break finish; 
                                        }
                                }
                        }
                        if (anahtar == 1) { 
                            anahtar = 0; 
                            tahmin--; 
                        }
                        for (i = 0; i < kelime.length(); i++){
                                System.out.print(eldevar[i]);
                        }
                        System.out.println();
                }
                if (dogru != kelime.length()) { 
                    System.out.println("Uzgunum... Dogru yanit " + kelime); 
                }
        }
}
[/COLOR]

Buradaki kelimemiz alzhe. Ona göre çıktısı:

lQk1gr.png




Miladi Takvim Uygulaması

TakvimProgrami.java

Kod:
[COLOR="Lime"]import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
/**
 *
 *    [USER=585213]author[/USER] Alzhe01
 */
public class TakvimProgrami{
    static JLabel lblMonth, lblYear;
    static JButton btnPrev, btnNext;
    static JTable tblCalendar;
    static JComboBox cmbYear;
    static JFrame frmMain;
    static Container pane;
    static DefaultTableModel mtblCalendar;
    static JScrollPane stblCalendar;
    static JPanel pnlCalendar;
    static int realYear, realMonth, realDay, currentYear, currentMonth;
    public static vo id main (String args[]){
        try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}
        catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) {}
        frmMain = new JFrame ("Miladi Takvim");
        frmMain.setSize(330, 375);
        pane = frmMain.getContentPane();
        pane.setLayout(null);
        frmMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        lblMonth = new JLabel ("Ocak");
        lblYear = new JLabel ("Yılı seç:");
        cmbYear = new JComboBox();
        btnPrev = new JButton ("<<");
        btnNext = new JButton (">>");
        mtblCalendar = new DefaultTableModel(){public boolean isCellEditable(int rowIndex, int mColIndex){return false;}};
        tblCalendar = new JTable(mtblCalendar);
        stblCalendar = new JScrollPane(tblCalendar);
        pnlCalendar = new JPanel(null);
        pnlCalendar.setBorder(BorderFactory.createTitledBorder("Takvim"));
        btnPrev.addActionListener(new btnPrev_Action());
        btnNext.addActionListener(new btnNext_Action());
        cmbYear.addActionListener(new cmbYear_Action());
        pane.add(pnlCalendar);
        pnlCalendar.add(lblMonth);
        pnlCalendar.add(lblYear);
        pnlCalendar.add(cmbYear);
        pnlCalendar.add(btnPrev);
        pnlCalendar.add(btnNext);
        pnlCalendar.add(stblCalendar);
        pnlCalendar.setBounds(0, 0, 320, 335);
        lblMonth.setBounds(160-lblMonth.getPreferredSize().width/2, 25, 100, 25);
        lblYear.setBounds(10, 305, 80, 20);
        cmbYear.setBounds(230, 305, 80, 20);
        btnPrev.setBounds(10, 25, 50, 25);
        btnNext.setBounds(260, 25, 50, 25);
        stblCalendar.setBounds(10, 50, 300, 250);
        frmMain.setResizable(false);
        frmMain.setVisible(true);
        GregorianCalendar cal = new GregorianCalendar();
        realDay = cal.get(GregorianCalendar.DAY_OF_MONTH);
        realMonth = cal.get(GregorianCalendar.MONTH); 
        realYear = cal.get(GregorianCalendar.YEAR); 
        currentMonth = realMonth; 
        currentYear = realYear;
        String[] headers = {"Pzr", "Pzt", "Sal", "Çrş", "Prş", "Cum", "Cmt"};
        for (int i=0; i<7; i++){
            mtblCalendar.addColumn(headers[i]);
        }
        tblCalendar.getParent().setBackground(tblCalendar.getBackground());
        tblCalendar.getTableHeader().setResizingAllowed(false);
        tblCalendar.getTableHeader().setReorderingAllowed(false);
        tblCalendar.setColumnSelectionAllowed(true);
        tblCalendar.setRowSelectionAllowed(true);
        tblCalendar.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tblCalendar.setRowHeight(38);
        mtblCalendar.setColumnCount(7);
        mtblCalendar.setRowCount(6);
        for (int i=realYear-100; i<=realYear+100; i++){
            cmbYear.addItem(String.valueOf(i));
        }
        ref reshCalendar(realMonth, realYear);
    }
    public static vo id ref reshCalendar(int month, int year){
        String[] months =  {"Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"};
        int nod, som;
        btnPrev.setEnabled(true);
        btnNext.setEnabled(true);
        if (month == 0 && year <= realYear-10){btnPrev.setEnabled(false);}
        if (month == 11 && year >= realYear+100){btnNext.setEnabled(false);}
        lblMonth.setText(months[month]); 
        lblMonth.setBounds(160-lblMonth.getPreferredSize().width/2, 25, 180, 25); 
        cmbYear.setSelectedItem(String.valueOf(year));
        for (int i=0; i<6; i++){
            for (int j=0; j<7; j++){
                mtblCalendar.setValueAt(null, i, j);
            }
        }
        GregorianCalendar cal = new GregorianCalendar(year, month, 1);
        nod = cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
        som = cal.get(GregorianCalendar.DAY_OF_WEEK);
        for (int i=1; i<=nod; i++){
            int row = (i+som-2)/7;
            int column  =  (i+som-2)%7;
            mtblCalendar.setValueAt(i, row, column);
        }
        tblCalendar.setDefaultRenderer(tblCalendar.getColumnClass(0), new tblCalendarRenderer());
    }
    static class tblCalendarRenderer extends DefaultTableCellRenderer{
           [USER=277185]over[/USER]ride
        public Component getTableCellRendererComponent (JTable table, Object value, boolean selected, boolean focused, int row, int column){
            super.getTableCellRendererComponent(table, value, selected, focused, row, column);
            if (column == 0 || column == 6){ 
                setBackground(new Color(255, 220, 220));
            }
            else{
                setBackground(new Color(255, 255, 255));
            }
            if (value != null){
                if (Integer.parseInt(value.toString()) == realDay && currentMonth == realMonth && currentYear == realYear){
                    setBackground(new Color(220, 220, 255));
                }
            }
            setBorder(null);
            setForeground(Color.black);
            return this;  
        }
    }

    static class btnPrev_Action implements ActionListener{
           [USER=277185]over[/USER]ride
        public vo id actionPerformed (ActionEvent e){
            if (currentMonth == 0){
                currentMonth = 11;
                currentYear -= 1;
            }
            else{
                currentMonth -= 1;
            }
            ref reshCalendar(currentMonth, currentYear);
        }
    }
    static class btnNext_Action implements ActionListener{
           [USER=277185]over[/USER]ride
        public vo id actionPerformed (ActionEvent e){
            if (currentMonth == 11){
                currentMonth = 0;
                currentYear += 1;
            }
            else{
                currentMonth += 1;
            }
            ref reshCalendar(currentMonth, currentYear);
        }
    }
    static class cmbYear_Action implements ActionListener{
           [USER=277185]over[/USER]ride
        public vo id actionPerformed (ActionEvent e){
            if (cmbYear.getSelectedItem() != null){
                String b = cmbYear.getSelectedItem().toString();
                currentYear = Integer.parseInt(b);
                ref reshCalendar(currentMonth, currentYear);
            }
        }
    }
}[/COLOR]

Çıktısı:

JVp21n.png



Programlar veya Java ile ilgili sorularınızı sorabilirsiniz. Elimden geldiğince yardımcı olurum.
 
Son düzenleme:

Alzhe01

Katılımcı Üye
9 Ara 2017
661
5
10ehzlA
Güzel ve kapsamlı olmuş peki böyle bi işlemleri Android üzerinden kodlama programlarıyla yapmak mümkünmüdür

Liserjik 'in dediği program gibi birkaç program mevcut. Fakat belirli işlemleri yapabilirsin sadece. Ekrana yazı yazdırma, döngülerle işlemler vs.
Gelişmiş programlar için (miladi takvim programı ve bir çok applet programları vs) bilgisayar gerekli oluyor, Androidte maalesef yok.
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.