Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Java] String jako tablica char

Ostatnio zmodyfikowano 2014-12-02 12:52
Autor Wiadomość
wazxse5
Temat założony przez niniejszego użytkownika
[Java] String jako tablica char
» 2014-12-02 12:52:37
Piszę program szyfrujący w Java Swing. Potrzebuję przyporządkować każdej literze z Stringa (tekst do zaszyfrowania) odpowiednią liczbę z przedziału <0,25>   (tzw. szyfr Szyfr Vigenère'a) tylko nie wiem jak to zrobić w javie, w c++ to nie problem :)

myślałem nad czymś w tym stylu
C/C++
String text = "sample";
int[] textCode = new int[ text.length() ];
for( int i = 0; i < text.length(); i++ ) {
    switch( text[ i ] ) {
    case 'a':
        textCode = 1;
        break;
        //itd.
    }
}
(to tylko kawałek kodu)

Z tym że to nie działa, może jakoś z kodami ASCII by zrobić ale nie wiem jak
Proszę o pomoc

Oto cały kod programu
C/C++
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class Main extends JFrame implements ActionListener {
    JMenuBar menuBar;
    JMenu menuFile, menuTools, menuHelp;
    JMenuItem mOpen, mSave, mExit, mEncode, mDecode, mAbout;
    JTextField tKey;
    JTextArea tText;
    JLabel lTitle1, lTitle2;
    JButton bEncode, bDecode, bClean;
    JScrollPane sScroll;
   
    public Main() {
        setSize( 800, 600 );
        setTitle( "Menu" );
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        setLayout( null );
        setResizable( false );
       
        menuBar = new JMenuBar();
        menuFile = new JMenu( "Plik" );
        mOpen = new JMenuItem( "Otwórz" );
        mSave = new JMenuItem( "Zapisz" );
        mExit = new JMenuItem( "Wyjście" );
        menuTools = new JMenu( "Narzędzia" );
        mEncode = new JMenuItem( "Zaszyfruj" );
        mDecode = new JMenuItem( "Odszyfruj" );
        menuHelp = new JMenu( "Pomoc" );
        mAbout = new JMenuItem( "Informacje" );
       
        setJMenuBar( menuBar );
        menuBar.add( menuFile );
        menuFile.add( mOpen );
        menuFile.add( mSave );
        menuFile.addSeparator();
        menuFile.add( mExit );
        mExit.addActionListener( this );
        menuBar.add( menuTools );
        menuTools.add( mEncode );
        mEncode.addActionListener( this );
        menuTools.add( mDecode );
        mDecode.addActionListener( this );
        menuBar.add( menuHelp );
        menuHelp.add( mAbout );
        mAbout.addActionListener( this );
       
        lTitle1 = new JLabel( "KLUCZ" );
        lTitle1.setBounds( 20, 20, 100, 30 );
        lTitle1.setFont( new Font( null, Font.BOLD, 18 ) );
        add( lTitle1 );
       
        tKey = new JTextField();
        tKey.setBounds( 20, 50, 200, 25 );
        add( tKey );
       
        lTitle2 = new JLabel( "TEKST" );
        lTitle2.setBounds( 20, 90, 100, 30 );
        lTitle2.setFont( new Font( null, Font.BOLD, 18 ) );
        add( lTitle2 );
       
        tText = new JTextArea();
        sScroll = new JScrollPane( tText );
        sScroll.setBounds( 20, 120, 600, 400 );
        add( sScroll );
       
        bEncode = new JButton( "Szyfruj" );
        bEncode.setBounds( 250, 35, 170, 50 );
        bEncode.setFont( new Font( null, Font.PLAIN, 22 ) );
        bEncode.addActionListener( this );
        add( bEncode );
       
        bDecode = new JButton( "Odszyfruj" );
        bDecode.setBounds( 450, 35, 170, 50 );
        bDecode.setFont( new Font( null, Font.PLAIN, 22 ) );
        bDecode.addActionListener( this );
        add( bDecode );
       
        bClean = new JButton( "Wyczyść" );
        bClean.setBounds( 640, 120, 130, 30 );
        bClean.setFont( new Font( null, Font.BOLD, 16 ) );
        bClean.addActionListener( this );
        add( bClean );
       
    }
   
    String Encode( String text, String key ) {
        String result = "sample";
        int[] textCode = new int[ text.length() ];
        int[] keyCode = new int[ key.length() ];
        return result;
    }
   
    public static void main( String[] args ) {
        Main okno = new Main();
        okno.setVisible( true );
       
    }
   
    @ Override
    public void actionPerformed( ActionEvent e ) {
        Object event = e.getSource();
        if( event == mAbout ) {
            JOptionPane.showMessageDialog( this, "To jest program szyfrujący", "Informacje", JOptionPane.INFORMATION_MESSAGE );
        }
        if( event == mExit ) {
            int odp = JOptionPane.showConfirmDialog( this, "Czy napewno chcesz wyjść?", "Uwaga!", JOptionPane.YES_NO_OPTION );
            if( odp == JOptionPane.YES_OPTION ) dispose();
           
        }
        if( event == bEncode || event == mEncode ) {
            String text = tText.getText();
            tText.setText( Encode( tText.getText(), tKey.getText() ) );
        }
        if( event == bClean ) {
            tKey.setText( null );
            tText.setText( null );
        }
    }
}
P-121923
« 1 »
  Strona 1 z 1