• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Java İle Plaka Okutma Programı | Yapımı

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
Kod:
Öncelikle programın çalışması için;

Sayı sesleri;
0,1,2,3,4,5,6,7,8,9;
10,20,30,40,50,60,70,80,90;
100,200,300,400,500,600,700,800,900;

Harf sesleri;
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,v,y,z
ses
şeklinde .au uzantılı ses dosyaları gerekiyor.

Programın çalışma mantığından biraz bahsedeyim;
3 adet text kutusu bulunmakta; 1. kutu il kodu; ikinci kutu harf kodu; 3. kutu plakanın sonunda yer alan rakam kod.

15 AA 155
şeklinde girilen plakayı

"On-Beş-Adana-Adana-Yüz-Elli-Beş-plaka sayılı araç lütfen aracınızı bulunduğu yerden kaldırınız."
şeklinde okumakta.

Import’ları buraya yazma gereği duymadım.
Kod tarafında anlaşılmayacak pek bi kısım yok.

Hatta siz benden daha iyi bir kod çıkarabilirsiniz.
Plaka[] değişkenine döngü ile atama yapabilirsiniz.
Bunu denediğimde bir çok çıkmazın içine girdim ben;
En son çare olarak da bu şekilde yazdım.





public class PlakaOku extends JFrame {
private JLabel lbl;
private JTextField txtil;
private JTextField txtharf;
private JTextField txtkod;
private JLabel lblcizgi;
private JLabel lblcizgi2;
private JButton btnoku;
private int j;
private JButton btncik;
public PlakaOku()
{
PlakaFrame();

}

private **** PlakaFrame() {
this.setLayout(new GridBagLayout());
this.setSize(new Dimension(500,300));
this.setTitle("Plaka Okuma Programı");
JMenuBar jbar = new JMenuBar();
JMenu jm = new JMenu("Dosya");
JMenuItem jmi = new JMenuItem("Çıkış");
jbar.add(jm);
jm.add(jmi);
jmi.addActionListener(new ActionListener() {
@Override
public **** actionPerformed(ActionEvent arg0) {
System.exit(0); 
}
});
lbl = new JLabel("Plaka: ");
txtil = new JTextField();
txtil.setPreferredSize(new Dimension(30,24)); 
lblcizgi = new JLabel("-");
txtharf = new JTextField();
txtharf.setPreferredSize(new Dimension(30,24)); 
lblcizgi2=new JLabel("-");
txtkod = new JTextField();
txtkod.setPreferredSize(new Dimension(60,24)); 
btnoku = new JButton("Oku");
btnoku.addActionListener(new ActionListener() {
@SuppressWarnings("static-access")
@Override
public **** actionPerformed(ActionEvent arg0) { 
if(txtil.getText().equals("") || txtkod.getText().equals("") || txtharf.getText().equals("")){
JOptionPane.showMessageDialog(null, "Alanlardan en az birini boş bıraktınız");
return;
}
int il = 0;
il=Integer.parseInt(txtil.getText());
String harfkod = txtharf.getText();
int kod = 0;
kod=Integer.parseInt(txtkod.getText());
if(il<1 || il>82)
{
JOptionPane.showMessageDialog(null, "İl 1-81 aralığı olmalı");
}
else if(kod<1 || kod>9999)
{
JOptionPane.showMessageDialog(null, "Kod 1-9999 aralığı olmalı");
}
else if("".equals(harfkod))
{
JOptionPane.showMessageDialog(null, "Harf kod girmediniz.");
}
else if(harfkod.length()>3)
{
JOptionPane.showMessageDialog(null, "Harf kod 3 karakterden fazla olamaz.");
}
else
{
String birlestir = txtil.getText()+txtharf.getText()+txtkod.getText() ;
String il1 = Integer.toString(il);
String kod1 = Integer.toString(kod);
//Eksik alabilir.
final String[] plaka = new String[20];
if(il1.length()==1)
{
birlestir = "0"+birlestir;
System.out.print(birlestir);
plaka[0]="0";
plaka[1]=birlestir.substring(1,2);
} 
else if(il1.length()==2)
{
int a = Integer.parseInt(il1.substring(0, 1));
int b = Integer.parseInt(il1.substring(1,2));
int c = a-b;
if(c==a)
{
c*=10;
plaka[0]=Integer.toString(c);
System.out.println(plaka[0]);
}
else if(c*-1==b)
{
plaka[0]="0";
plaka[1]=Integer.toString(c);
}
else
{
plaka[0]=Integer.toString(a*10);
plaka[1]=Integer.toString(b);
}
}
else
{
JOptionPane.showMessageDialog(null, "hata");
}

if(harfkod.length()==1)
{
plaka[2]=harfkod.substring(0,1);
if(kod1.length()==1)
{
plaka[3]=kod1;
}
else if(kod1.length()==2)
{
int a = Integer.parseInt(kod1.substring(0, 1));
int b = Integer.parseInt(kod1.substring(1,2));
int c = a-b;
if(c==a)
{
plaka[3]=Integer.toString(c*10);
}
else if(c*-1==b)
{
plaka[3]=Integer.toString(b);
}
else
{
plaka[3]=Integer.toString(a*10);
plaka[4]=Integer.toString(b);
}

}

else if(kod1.length()==3)

{

int a = Integer.parseInt(kod1.substring(0,1));

int b = Integer.parseInt(kod1.substring(1,2));

int c = Integer.parseInt(kod1.substring(2,3));

int r=a-b;

int p=b-c;

if(r==a && p*-1==c)

{

plaka[3]=Integer.toString(a*100);

plaka[4]="";

if(c>0)

{

plaka[5]=Integer.toString(c);

}

}

else if(r*-1==b && r>0)

{

plaka[3]="";

plaka[4]=Integer.toString(b*10);

if(c>0)

{

plaka[5]=Integer.toString(c);

}

}

else


{

if(a!=0)

plaka[3]=Integer.toString(a*100);

if(b!=0)

plaka[4]=Integer.toString(b*10);

if (c!=0)

plaka[5]=Integer.toString(c);

}

}

else if(kod1.length()==4)

{

int a = Integer.parseInt(kod1.substring(0,1));

int b = Integer.parseInt(kod1.substring(1,2));

int c = Integer.parseInt(kod1.substring(2,3));

int d = Integer.parseInt(kod1.substring(3,4));

int e = a-b;

int f = c-d;

if(e==a)

{

if(e!=0)

plaka[3]=Integer.toString(c*10);

plaka[4]="";

}

else if(e*-1==b)

{

if(e!=0)

plaka[3]="";

plaka[4]=Integer.toString(b);

}

else


{

plaka[3]=Integer.toString(a*10);

plaka[4]=Integer.toString(b);

}

if(f==c)

{

if(f!=0)

plaka[5]=Integer.toString(c*10);

plaka[6]="";

}

else if(f*-1==c)

{

if(f!=0)

plaka[5]="";

plaka[6]=Integer.toString(d);

}

else


{

plaka[5]=Integer.toString(c*10);

plaka[6]=Integer.toString(d);

}

}

}

else if (harfkod.length()==2)

{

plaka[2]=harfkod.substring(0,1);

plaka[3]=harfkod.substring(1,2);

if(kod1.length()==1)

{

plaka[4]=kod1;

}

else if(kod1.length()==2)

{

int a = Integer.parseInt(kod1.substring(0, 1));

int b = Integer.parseInt(kod1.substring(1,2));

int c = a-b;

if(c==a)

{

plaka[4]=Integer.toString(c*10);

}

else if(c*-1==b)

{

plaka[4]=Integer.toString(b);

}

else


{

plaka[4]=Integer.toString(a*10);

plaka[5]=Integer.toString(b);

}

}

else if(kod1.length()==3)

{

int a = Integer.parseInt(kod1.substring(0,1));

int b = Integer.parseInt(kod1.substring(1,2));

int c = Integer.parseInt(kod1.substring(2,3));

int r=a-b;

int p=b-c;

if(r==a && p*-1==c)

{

plaka[4]=Integer.toString(a*100);

plaka[5]="";

if(c>0)

{

plaka[6]=Integer.toString(c);

}

}

else if(r*-1==b && r>0)

{

plaka[4]="";

plaka[5]=Integer.toString(b*10);

if(c>0)

{

plaka[6]=Integer.toString(c);

}

}

else


{

if(a!=0)

plaka[4]=Integer.toString(a*100);

if(b!=0)

plaka[5]=Integer.toString(b*10);

if (c!=0)

plaka[6]=Integer.toString(c);

}

}

else if(kod1.length()==4)

{

int a = Integer.parseInt(kod1.substring(0,1));

int b = Integer.parseInt(kod1.substring(1,2));

int c = Integer.parseInt(kod1.substring(2,3));

int d = Integer.parseInt(kod1.substring(3,4));

int e = a-b;

int f = c-d;

if(e==a)

{

if(e!=0)

plaka[4]=Integer.toString(c*10);

plaka[5]="";

}

else if(e*-1==b)

{

if(e!=0)

plaka[4]="";

plaka[5]=Integer.toString(b);

}

else


{

plaka[4]=Integer.toString(a*10);

plaka[5]=Integer.toString(b);

}

if(f==c)

{

if(f!=0)

plaka[6]=Integer.toString(c*10);

plaka[7]="";

}

else if(f*-1==c)

{

if(f!=0)

plaka[6]="";

plaka[7]=Integer.toString(d);

}

else


{

plaka[6]=Integer.toString(c*10);

plaka[7]=Integer.toString(d);

}

}

}

else if(harfkod.length()==3)

{

plaka[2]=harfkod.substring(0,1);

plaka[3]=harfkod.substring(1,2);

plaka[4]=harfkod.substring(2,3);

if(kod1.length()==1)

{

plaka[5]=kod1;

}

else if(kod1.length()==2)

{

int a = Integer.parseInt(kod1.substring(0, 1));

int b = Integer.parseInt(kod1.substring(1,2));

int c = a-b;

if(c==a)

{

plaka[5]=Integer.toString(c*10);

}

else if(c*-1==b)

{

plaka[5]=Integer.toString(b);

}

else


{

plaka[5]=Integer.toString(a*10);

plaka[6]=Integer.toString(b);

}

}

else if(kod1.length()==3)

{

int a = Integer.parseInt(kod1.substring(0,1));

int b = Integer.parseInt(kod1.substring(1,2));

int c = Integer.parseInt(kod1.substring(2,3));

int r=a-b;

int p=b-c;

if(r==a && p*-1==c)

{

plaka[5]=Integer.toString(a*100);

plaka[6]="";

if(c>0)

{

plaka[7]=Integer.toString(c);

}

}

else if(r*-1==b && r>0)

{

plaka[5]="";

plaka[6]=Integer.toString(b*10);

if(c>0)

{

plaka[7]=Integer.toString(c);

}

}

else


{

if(a!=0)

plaka[5]=Integer.toString(a*100);

if(b!=0)

plaka[6]=Integer.toString(b*10);

if (c!=0)

plaka[7]=Integer.toString(c);

}

}

else if(kod1.length()==4)

{

int a = Integer.parseInt(kod1.substring(0,1));

int b = Integer.parseInt(kod1.substring(1,2));

int c = Integer.parseInt(kod1.substring(2,3));

int d = Integer.parseInt(kod1.substring(3,4));

int e = a-b;

int f = c-d;

if(e==a)

{

if(e!=0)

plaka[5]=Integer.toString(c*10);

plaka[6]="";

}

else if(e*-1==b)

{

if(e!=0)

plaka[5]="";

plaka[6]=Integer.toString(b);

}

else


{

plaka[5]=Integer.toString(a*10);

plaka[6]=Integer.toString(b);

}

if(f==c)

{

if(f!=0)

plaka[7]=Integer.toString(c*10);

plaka[8]="";

}

else if(f*-1==c)

{

if(f!=0)

plaka[7]="";

plaka[8]=Integer.toString(d);

}

else


{

plaka[7]=Integer.toString(c*10);

plaka[8]=Integer.toString(d);

}

}

}

for(j=0; j<birlestir.length(); j++)

{

try{

Thread th1= new Thread(new Okuyucu("D:/sounds/"+plaka[j]+".au"));

th1.start();

th1.sleep(900);

//clip.start();


}

catch (Exception e){

e.printStackTrace();

}

try{

if(j==birlestir.length()-1)

{

Thread th2= new Thread(new Okuyucu("D:/sounds/ses.au"));

th2.start();

th2.sleep(900);

}

}

catch(Exception e){

e.printStackTrace();

}

}

}

}

});

this.add(lbl, gbclbl);

this.add(txtil, gbctxtil);

this.add(lblcizgi, gbccizgi);

this.add(lblcizgi2, gbccizgi2);

this.add(txtharf, gbctxtharf);

this.add(txtkod, gbctxtkod);

this.add(btnoku);

this.add(jbar);

this.addWindowListener(new WindowAdapter() {

@Override


public **** windowClosing(WindowEvent arg0) {

System.exit(0);

}

});

}

public static **** main(String[] args) {

PlakaOku po = new PlakaOku();

po.setVisible(true);

}

public class Okuyucu implements Runnable {

String okunacakDeger;

public Okuyucu(String okunacakDeger) {

this.okunacakDeger=okunacakDeger;

}

@Override


public **** run() {

try {

AudioInputStream stream = AudioSystem.getAudioInputStream(new File(okunacakDeger));

AudioFormat format = stream.getFormat();

DataLine.Info info = new DataLine.Info(Clip.class, stream.getFormat(),

((int)stream.getFrameLength()*format.getFrameSize( )));

Clip clip = (Clip) AudioSystem.getLine(info);

clip.open(stream);

clip.start();

} catch (UnsupportedAudioFileException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (LineUnavailableException e) {

e.printStackTrace();

}

}

}

}
 
Üst