Ö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
Çıktısı:
Sunucu Mesajlaşma Programı
sunucu.java
istemci.java
Çıktısı:
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
Robot.java
Çıktısı:
Çalışma mantığına ilişkin olarak resim:
Kelime Bulma Oyunu
kelimebul.java
Buradaki kelimemiz alzhe. Ona göre çıktısı:
Miladi Takvim Uygulaması
TakvimProgrami.java
Çıktısı:
Programlar veya Java ile ilgili sorularınızı sorabilirsiniz. Elimden geldiğince yardımcı olurum.
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ı:
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ı:
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ı:
Çalışma mantığına ilişkin olarak resim:
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ı:
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ı:
Programlar veya Java ile ilgili sorularınızı sorabilirsiniz. Elimden geldiğince yardımcı olurum.
Son düzenleme: