Java - definiowanie macierzy (szyfrowanie)

0

Witam,
robię program na zaliczenie Javy,szyfruje tekst z pliku do pliku trzema metodami: szyfr Cezara, ga-de-ry-po-lu-ki oraz szyfr przestawieniowy macierz. Program piszę w NetBeans. Nie wiem jak podejść do ostatniej metody. Powinna mi zliczyć ciąg znaków i dopisać np * na końcu tak, aby jego długość była kwadratem możliwie najmniejszej liczby naturalnej, wtedy mogę 'zbudować' macierz kwadratową z tych znaków i odczytać ją kolumnami (bo na tym polega ta metoda), stworzyłem już coś takiego:
[code]
/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package szyfrowanie;

/**
*

  • @Author Karol
    */
    public class Przestawienny {

public String koduj(String secret) {
char tablica[]= secret.toCharArray();
int N=(int) Math.pow(Math.floor(Math.sqrt(secret.length())),2);

char[][] A ;

for (int i = 0; i < N-1; i++){
int p=Ni;
for (int j = 0; j < N-1; j++){
if (secret.length<j+p+1){
A[i][j] = tablica[j+p];
}
else{
A[i][j] = "
";
}
}
}
for(int k=0; k<Math.pow(N,2)-1; k++){
for (int i = 0; i < N-1; i++){
for (int j = 0; j < N-1; j++){
tablica[k] = A[j][i];
}
}
}

return new String(tablica);
}
}
[/code]
jeszcze nie wiem czy działa poprawnie, bo nie wiem jak zadeklarować macierz A, bo póki co do A-variable A might not have been initialized- zmienna A może nie została zainicjowana.
Czyli póki co pytanie brzmi jak zadeklarować macierz A, bo na pewno nie char[][] A

0
char[][] A = new char[ileWierszy][ileKolumn];

Dalej jest

A[i][j] = "*";

Nie zgadzają się typy. Zmień albo deklaracje, albo przypisanie.

String[][] A = new String[ileWierszy][ileKolumn];
//albo
A[i][j] = '*';

1 użytkowników online, w tym zalogowanych: 0, gości: 1