Mors Alfabesİnden İngİlİzceye , İngİlİzceden Mors Alfabesİne Çevrİm Yapan Applet

CorsaiR

Emektar
27 Ara 2005
1,228
18
Çekirdekten
Bu applet ile Mors alfabesinden İngilizceye , İngilizceden Mors alfabesine çevirme yapabilirsiniz. Kullanıcı arayüzünde 2 tane JTextfield (girilen ve çıkan yazı için ) ve 2 tane JButton (çevirme ve çıkış düğmesi) nesnesi kullanılmıştır.
Kodun çalışan halini (appleti) görmek için https://tik.lat/4ivhX adresini ziyaret edin.

//***************************************************************
// MorseCode.java Author: Cemil İnanç , Başkent University
//
// Morse2English , English2Morse applet
//***************************************************************

// CEMİL İNANÇ
// [email protected]

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class MorseCode extends JApplet implements ActionListener {

private JLabel girisEtiketi,cikisEtiketi; // yazı alanı etiketleri
private JTextField girisAlani,cikisAlani; // yazı alanları
private JButton cevir,cik;
private JRadioButton oto,m2e,e2m;
private ButtonGroup radioGroup;
private Font bP;

public **** init() {
Container c = getContentPane();
c.setLayout(new FlowLayout());

girisEtiketi = new JLabel("Çevirilecek sözcük öbeği");
c.add(girisEtiketi);

girisAlani = new JTextField(30);
c.add(girisAlani);

cikisEtiketi = new JLabel("Çevirilmiş sözcük öbeği");
c.add(cikisEtiketi);

cikisAlani = new JTextField(30);
cikisAlani.setEditable(false);
c.add(cikisAlani);

oto = new JRadioButton("Otomatik",true);
m2e = new JRadioButton("Morse -> English",false);
e2m = new JRadioButton("English -> Morse",false);
c.add(oto);
c.add(m2e);
c.add(e2m);
oto.addActionListener(this);
m2e.addActionListener(this);
e2m.addActionListener(this);

cevir = new JButton("ÇEVİR");
cevir.addActionListener(this);
c.add(cevir);

cik = new JButton("ÇIKIŞ");
cik.addActionListener(this);
c.add(cik);
}

public **** actionPerformed (ActionEvent e){

String cumle,cumle2="";
String mharf;
int i;
int cevirme=0;

radioGroup = new ButtonGroup();
radioGroup.add(oto);
radioGroup.add(m2e);
radioGroup.add(e2m);

// ÇEVİR tuşuna basıldığında yapılacak işlemler
if(e.getSource() == cevir){

//Giriş okunuyor
cumle = girisAlani.getText();

StringTokenizer tokens = new StringTokenizer(cumle);//Parçalar
StringBuffer buffer = new StringBuffer(cumle);// cumle'nin yedeği
StringBuffer buffer2 = new StringBuffer(); // çevrilmiş değer için

//Harfleri büyük harfe çevirme
for(i=0;i<buffer.length();i++){
buffer.setCharAt(i,Character.toUpperCase(buffer.charAt(i)));
}

//Hangi çevirmenin yapılacağını otomatik olarak anlamak için
//Morse -> English mi , English -> Morse mu?
for(i=0;i<buffer.length();i++){
if(buffer.charAt(i)=='.' || buffer.charAt(i)=='-'){
cevirme = 1;
break;
}
else
cevirme = 0;
}

//Morse -> English çevirme durumu
i=0;//genel amaçlı sayaç sıfırlandı
if(cevirme == 1){
while(tokens.hasMoreTokens()){
if(!(buffer.charAt(i)==' ' && buffer.charAt(i-1)==' ')){
mharf = tokens.nextToken();
buffer2.append(MtoE(mharf));
i += mharf.length()+1;
}
else{
buffer2.append(' ');
i=i+2;
}
}
}


//English -> Morse çevirme durumu
if(cevirme == 0){
for(i=0;i<buffer.length();i++){
if(buffer.charAt(i)==' '){
buffer2.append(" ");
}
else{
buffer2.append(EtoM(buffer.charAt(i)));
buffer2.append(' ');
}
}
}

// buffer2,cumle2 stringine dönüştürülüyor
for(i=0;i<buffer2.length();i++){
cumle2 = cumle2 + buffer2.charAt(i);
}

// cikisAlani textArea bolumune çevrilen değer aktarılıyor
bP = new Font("Serif", Font.BOLD,16);
cikisAlani.setFont(bP);
cikisAlani.setText(String.format(cumle2));
}


if(e.getSource() == cik){
destroy();
}
}

// Morse to English metodu
// String -> char dönüşümü yapılıyor
public static char MtoE(String mharf){
char c='0'; // missing return statement hatası için ve ilk değer istiyor
if(mharf.equals(".-")) {c='A';}
else if(mharf.equals("-...")) {c='B';}
else if(mharf.equals("-.-.")) {c='C';}
else if(mharf.equals("-..")) {c='D';}
else if(mharf.equals(".")) {c='E';}
else if(mharf.equals("..-.")) {c='F';}
else if(mharf.equals("--.")) {c='G';}
else if(mharf.equals("....")) {c='H';}
else if(mharf.equals("..")) {c='I';}
else if(mharf.equals(".---")) {c='J';}
else if(mharf.equals("-.-")) {c='K';}
else if(mharf.equals(".-..")) {c='L';}
else if(mharf.equals("--")) {c='M';}
else if(mharf.equals("-.")) {c='N';}
else if(mharf.equals("---")) {c='O';}
else if(mharf.equals(".--.")) {c='P';}
else if(mharf.equals("--.-")) {c='Q';}
else if(mharf.equals(".-.")) {c='R';}
else if(mharf.equals("...")) {c='S';}
else if(mharf.equals("-")) {c='T';}
else if(mharf.equals("..-")) {c='U';}
else if(mharf.equals("...-")) {c='V';}
else if(mharf.equals(".--")) {c='W';}
else if(mharf.equals("-..-")) {c='X';}
else if(mharf.equals("-.--")) {c='Y';}
else if(mharf.equals("--..")) {c='Z';}
else if(mharf.equals("-----")) {c='0';}
else if(mharf.equals(".----")) {c='1';}
else if(mharf.equals("..---")) {c='2';}
else if(mharf.equals("...--")) {c='3';}
else if(mharf.equals("....-")) {c='4';}
else if(mharf.equals(".....")) {c='5';}
else if(mharf.equals("-....")) {c='6';}
else if(mharf.equals("--...")) {c='7';}
else if(mharf.equals("---..")) {c='8';}
else if(mharf.equals("----.")) {c='9';}
return c;
}

// English to Morse metodu
// char -> string dönüşümü yapılıyor
// switch-case sorun çıkartıyor (yapılamadı)
public static String EtoM(char harf){
String s="0";
if(harf == 'A') {s=".-";}
else if(harf == 'B') {s="-...";}
else if(harf == 'C') {s="-.-.";}
else if(harf == 'D') {s="-..";}
else if(harf == 'E') {s=".";}
else if(harf == 'F') {s="..-.";}
else if(harf == 'G') {s="--.";}
else if(harf == 'H') {s="....";}
else if(harf == 'I') {s="..";}
else if(harf == 'J') {s=".---";}
else if(harf == 'K') {s="-.-";}
else if(harf == 'L') {s=".-..";}
else if(harf == 'M') {s="--";}
else if(harf == 'N') {s="-.";}
else if(harf == 'O') {s="---";}
else if(harf == 'P') {s=".--.";}
else if(harf == 'Q') {s="--.-";}
else if(harf == 'R') {s=".-.";}
else if(harf == 'S') {s="...";}
else if(harf == 'T') {s="-";}
else if(harf == 'U') {s="..-";}
else if(harf == 'V') {s="...-";}
else if(harf == 'W') {s=".--";}
else if(harf == 'X') {s="-..-";}
else if(harf == 'Y') {s="-.--";}
else if(harf == 'Z') {s="--..";}
else if(harf == '0') {s="-----";}
else if(harf == '1') {s=".----";}
else if(harf == '2') {s="..---";}
else if(harf == '3') {s="...--";}
else if(harf == '4') {s="....-";}
else if(harf == '5') {s=".....";}
else if(harf == '6') {s="-....";}
else if(harf == '7') {s="--...";}
else if(harf == '8') {s="---..";}
else if(harf == '9') {s="----.";}
return s;
}
}
 
Ü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.