Výsledky 1 až 9 z 9

Téma: Java Morse Code

  1. #1
    Member Avatar uživatele ..::Ozzy::..
    Založen
    27.05.2004
    Bydliště
    Vlašim@Benešov
    Věk
    43
    Příspěvky
    176
    Vliv
    258

    Standardní Java Morse Code

    Dostal jsem zadání na semestrálku v Jave naprogramovat Morseho translator obema smery... cast z ASCII do Morse jiz mam, ale nevim jak ma naprogramovat tu druhou cast a to z
    Morse do ASCII vubec netusim jak bych mel postupovat
    kdyz cisla maj 5 znaku a pismena 2 - 4
    A = .-
    Z = --..
    0 = ----- az 9 = ----.

    Potřeboval bych s tim pomoc

    Vytvorit si pole Se pismenama a cislama? poradte
    Software is like SEX,
    it's better, when it's FREE!

    by Linus Torvalds
    PC:AMD Barton 2500+@3200+ 1,75V locked|ACC rev2|Soltek SL-K600-C|2x512MB DDR433 CL2.5|Saegate80GB 2MB cache ATA/133 + Samsung250GB 8MB cache ATA/133|ATi Saphire R9600XT 537/640|Acer LCD 20" AL2016W 16:10|DVD LG4120|Genius Home Theatre 5.1|Logitech Click@Mouse|dolby keyboard|3R-System case soft moded|TV Tuner Leadtek Winfast DTV1000T|Gentoo 2005.1|KDE 3.5 sometimes switch to WinXP
    Work NB: HP nw8000 + Qtek8310

  2. #2

    Standardní

    No nejlip asi pouzit HashTable - neco na zpusob asociativniho pole.

  3. #3
    Member Avatar uživatele ..::Ozzy::..
    Založen
    27.05.2004
    Bydliště
    Vlašim@Benešov
    Věk
    43
    Příspěvky
    176
    Vliv
    258

    Standardní

    ta prvni cast vypada asi nejak takhle

    Kód:
    import java.awt.*;        // uziv rozhrani, a graf okna
    import java.awt.event.*;  
    import javax.swing.*;     
    import java.util.*;      
    
    public class Morse extends JFrame {
    
       //JButton exitButton;
       JLabel label;
    
       JTextField input;
    
       JTextArea output;
    
       String text = "";
    
       //String morse = "";
    
       char index;
    
      //finalni  pole s ekvivalentnimi znaky pro a-z	
    
       public static final String[] morseAlpha = {".-", "-...", "-.-.", "-..", ".", "..-.",            
    					      "--.", "....", "..", ".---", "-.-", ".-..",          
    					      "--", "-.", "---", ".--.", "--.-", ".-.", "...",     
    					      "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};  
       //finalni pole pro cislice od 0-9
    
       public static final String[] morseNumeric = {"-----", ".----", "..---", "...--", "....-", 
    						".....", "-....", "--...", "---..", "---."};                  
       public Morse(){
    
          //zavola JFrame s titulkem  
          super( "Konvertor Morseovi abecedy - Jiří Horálek" );
    
          Container container = getContentPane();
    
          container.setLayout( new FlowLayout( FlowLayout.LEFT, 10, 14 ) );
    
          label = new JLabel( "Vložte text k převedeni a stiskněte ENTER:");
    
          container.add( label );
    
          input = new JTextField( 29 );
    
          input.setFont( new Font( "Monospace", Font.PLAIN, 14 ) );
    
          input.addActionListener(
    
          new ActionListener() {      
    
          public void actionPerformed( ActionEvent event ){
    
           output.setText( "" );
    
           String text = input.getText().toUpperCase();
    
              for &#40;int i = 0; i < text.length&#40;&#41;; i++&#41;&#123;
    
                  index = text.charAt&#40; i &#41;;
    
                  if &#40; Character.isDigit&#40; index &#41; &#41;&#123;
    
                     //vraci index - 48 &#40; 0=48, 9=57 &#41;
                     output.append&#40; morseNumeric&#91; index - 48 &#93; + " " &#41;;
    	      &#125;	
                  else if &#40; Character.isLetter&#40; index &#41; &#41;&#123;
    
                     //vraci index - 65 &#40; A=65 , Z=90 &#41;
                     output.append&#40; morseAlpha&#91; index - 65 &#93; + " " &#41;;
                  &#125;        		
                  else if &#40; index == ' '&#41;&#123; //pokud na vstupu mezera tak vrat 3
    				
                     output.append&#40; "   " &#41;; //vrati tri mezery
    	      &#125;
           &#125;
    
           output.append&#40; "\n" &#41;;           
          &#125; 
    
        &#125; 
    
      &#41;; 
                      
      container.add&#40; input &#41;;
    
      output = new JTextArea&#40; 10, 48 &#41;;
    
      output.setFont&#40; new Font&#40; "Monospace", Font.BOLD, 14 &#41; &#41;;
     
      output.setEditable&#40; false &#41;;
    
      container.add&#40; new JScrollPane&#40; output &#41; &#41;;
    
      setSize&#40; 420, 300 &#41;;  
    
      setVisible&#40; true &#41;;   
    
      output.setText&#40; "" &#41;;
    
      &#125;
    
     public static void main&#40; String args&#91;&#93; &#41; &#123;
    
    		Morse application = new Morse&#40;&#41;;
    
    		application.setDefaultCloseOperation&#40; JFrame.EXIT_ON_CLOSE &#41;;
    
     &#125;
    &#125;
    HashTable jsem nikdy nepouzival
    Software is like SEX,
    it's better, when it's FREE!

    by Linus Torvalds
    PC:AMD Barton 2500+@3200+ 1,75V locked|ACC rev2|Soltek SL-K600-C|2x512MB DDR433 CL2.5|Saegate80GB 2MB cache ATA/133 + Samsung250GB 8MB cache ATA/133|ATi Saphire R9600XT 537/640|Acer LCD 20" AL2016W 16:10|DVD LG4120|Genius Home Theatre 5.1|Logitech Click@Mouse|dolby keyboard|3R-System case soft moded|TV Tuner Leadtek Winfast DTV1000T|Gentoo 2005.1|KDE 3.5 sometimes switch to WinXP
    Work NB: HP nw8000 + Qtek8310

  4. #4

    Standardní

    Tak zacni

    Pisu z hlavy, ale nejak takhle:
    Kód:
    Hashtable m = new Hashtable&#40;&#41;;
    
    m.put&#40; "A", ".-" &#41;;
    m.put&#40; "B", "-..." &#41;;
    ...
    ...
    
    String letter = &#40;String&#41; m.get&#40; "A" &#41;;

  5. #5

    Standardní

    imho - binarni stromecek by nemusela byt spatna metoda
    (tam zalezi na tom jestli ti nekdo rekne .-.-.-.- konec ...-. konec, kdyz dostanes jen stream .-.-.-.-..-- - tak binarni strom je dobra metoda - jinak ti staci jedno pole na oba prevody)
    Black panther - Intel E8400 (SLB9J), GigaByte EP45-UD3R, A-Data 2x2GB Vitesta, Gainward ATi/AMD Radeon 4870 512MB Gold Sample, Creative Audigy2 ZS, Samsung HD642JJ (AJ26 SMART error) + WD 6400AAKS + Samsung HD 322HJ, NEC 4571A DVD-RW, Enermax PRO82+ 525W, BenQ FP241W 24" 1920x1200, Microsoft Wheel Mouse Optical, Chicony KU-0108 mm keyboard, Microsoft VX-1000 camera, Microsoft Windows Vista Home Premium 64bit
    My gadgets : custom CIR receiver, RDS receiver (for TV card), no-more-screwdriver-mobo-powerup, Atmel 89cx051 LPTprog, N3310 LCD, ...

  6. #6
    Member Avatar uživatele ..::Ozzy::..
    Založen
    27.05.2004
    Bydliště
    Vlašim@Benešov
    Věk
    43
    Příspěvky
    176
    Vliv
    258

    Standardní

    O tom jsem už také slyšel, ale nevim jak bych to mel realizovat... nějakej dobrej článek o bynarnich vyhledavacich stromech by se nekde nenasel?
    Software is like SEX,
    it's better, when it's FREE!

    by Linus Torvalds
    PC:AMD Barton 2500+@3200+ 1,75V locked|ACC rev2|Soltek SL-K600-C|2x512MB DDR433 CL2.5|Saegate80GB 2MB cache ATA/133 + Samsung250GB 8MB cache ATA/133|ATi Saphire R9600XT 537/640|Acer LCD 20" AL2016W 16:10|DVD LG4120|Genius Home Theatre 5.1|Logitech Click@Mouse|dolby keyboard|3R-System case soft moded|TV Tuner Leadtek Winfast DTV1000T|Gentoo 2005.1|KDE 3.5 sometimes switch to WinXP
    Work NB: HP nw8000 + Qtek8310

  7. #7
    Senior Member Avatar uživatele Anduril
    Založen
    12.10.2002
    Bydliště
    OVA, OL
    Věk
    42
    Příspěvky
    3 474
    Vliv
    322

    Standardní

    Citace Původně odeslal ..::Ozzy::..
    O tom jsem už také slyšel, ale nevim jak bych to mel realizovat... nějakej dobrej článek o bynarnich vyhledavacich stromech by se nekde nenasel?
    Můžu ti to dneska večer poslat...Dekodér pomocí Listu i pomocí Binary Search Tree...taky jsem to dělal ve škole
    ntb: HP EliteBook 8460p i7-2640M | 8GB RAM | 120GB SSD + 500GB HDD | ATi HD6470 | 14" HD+ | W7 PRO
    home: HP Docking Station | HP L2045W | WD 500GB Scorpio Blue USB box
    work: HP Docking Station | HP L2445W
    audio: Epiphone G-400 SG + Sounder Telecaster | E-MU 0202 | Cambridge Audio Azur 340R | Wharfedale Diamond 9.2 | Magnat Betasub 20A | Sennheiser HD555

  8. #8
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    298

    Standardní

    Binarni strom? A neni to tak trosku overkill? Vzdyt je to par polozek, rezie vam vic sebere, nez logaritmicka zavislost uspori.. podle me je na tohle hashtable/asoc. pole idealni. N-arni vyhledavaci strom je samozrejme vyborna vec, ale na takhle maly data to preci nema smysl.. -leda ze bys dostal vic bodu za slozitejsi "sofistikovanejsi" reseni, ale teda byt ucitelem, tak te za to nepochvalim
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  9. #9
    Senior Member Avatar uživatele Anduril
    Založen
    12.10.2002
    Bydliště
    OVA, OL
    Věk
    42
    Příspěvky
    3 474
    Vliv
    322

    Standardní

    2KtK: No my jsme to třeba dělali v základech algoritmizace Ale jinak si taky myslím, že Hash je na tohle best.
    ntb: HP EliteBook 8460p i7-2640M | 8GB RAM | 120GB SSD + 500GB HDD | ATi HD6470 | 14" HD+ | W7 PRO
    home: HP Docking Station | HP L2045W | WD 500GB Scorpio Blue USB box
    work: HP Docking Station | HP L2445W
    audio: Epiphone G-400 SG + Sounder Telecaster | E-MU 0202 | Cambridge Audio Azur 340R | Wharfedale Diamond 9.2 | Magnat Betasub 20A | Sennheiser HD555

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •