Advertisement
Guest User

Untitled

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