Advertisement
Guest User

Untitled

a guest
Apr 28th, 2015
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.57 KB | None | 0 0
  1. /* Oppgave nr. 4 (Vekt: 30%) eksamen 2014
  2.  ********************************************************************
  3.  * Omkoding av tekst fra norsk til en kodet form (såkalt røverspråk).
  4.  */
  5.  
  6. import java.awt.*;
  7. import java.awt.event.*;
  8. import javax.swing.*;
  9.  
  10. public class Kodemaskin extends JFrame implements ActionListener{
  11.  
  12.     private JButton koding, blankUt;
  13.     private JTextField nøkkel;
  14.     private JTextArea innTekst, utTekst;
  15.  
  16.   public static void main(String[] args) {
  17.     Kodemaskin vindu = new Kodemaskin();
  18.     vindu.setTitle("Kodemaskin");
  19.     vindu.setDefaultCloseOperation(EXIT_ON_CLOSE);
  20.     vindu.opprettGUI();
  21.     vindu.setSize(300,210);
  22.     vindu.setResizable(false);
  23.     vindu.setLocationRelativeTo(null);
  24.     vindu.setVisible(true);    
  25.   }
  26.   private void opprettGUI() {
  27.     setLayout(new FlowLayout());
  28.  
  29.     JLabel topptekst = new JLabel("Norsk tekst");
  30.     add(topptekst);
  31.  
  32.     innTekst = new JTextArea(3,24);
  33.     add(innTekst);
  34.  
  35.     JLabel key = new JLabel("Nøkkel:");
  36.     add(key);
  37.  
  38.     nøkkel = new JTextField(3);
  39.     add(nøkkel);
  40.  
  41.     koding = new JButton("Koding");
  42.     koding.addActionListener(this);
  43.     add(koding);
  44.  
  45.     blankUt = new JButton("Blank ut");
  46.     blankUt.addActionListener(this);
  47.     add(blankUt);
  48.  
  49.     utTekst = new JTextArea(3,24);
  50.     add(utTekst);
  51.  
  52.     JLabel bunntekst = new JLabel("Røverspråk");
  53.     add(bunntekst);
  54.   }
  55.   public void actionPerformed(ActionEvent e){
  56.     if (e.getSource() == blankUt) {
  57.       innTekst.setText("");
  58.       utTekst.setText("");
  59.       nøkkel.setText("");
  60.     }
  61.     else if (e.getSource() == koding) {
  62.       String txt = innTekst.getText();
  63.       if ( txt.length() > 0 ) {
  64.         txt = txt.toUpperCase();
  65.         utTekst.setText( kode(txt) );
  66.       }
  67.       else
  68.         utTekst.setText("Ingen tekst å kode!");
  69.     }
  70.   }
  71.   // Hjelpemetode for å gjennomføre selve kodingen
  72.   private String kode(String tekst) {
  73.     String kode = "";
  74.     String nøkkelTxt = nøkkel.getText();
  75.     if ( nøkkelTxt.length() > 0 ) {
  76.       char vokal = nøkkelTxt.toUpperCase().charAt(0);
  77.       for (int i=0; i<tekst.length(); i++) {
  78.         char t = tekst.charAt(i);
  79.         kode += t;
  80.         if ( erKonsonant(t) )
  81.           kode += vokal + "" + t;
  82.       }
  83.       return kode;
  84.     }
  85.     else
  86.       return "Mangler kodenøkkel!";
  87.   }
  88.   // Hjelpemetode for å sjekke om bokstav er konsonant
  89.   // Ikke krav om denne i oppgaven, men trengs for å
  90.   // kunne kompilere og testkjøre programmet.
  91.   private boolean erKonsonant(char tgn) {
  92.     String konsonanter = "BCDFGHJKLMNPQRSTVWXZ";
  93.     return konsonanter.indexOf(tgn) >= 0;
  94.   }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement