Paszczu Opublikowano 9 Maja 2004 Zgłoś Opublikowano 9 Maja 2004 Mam do napisania mały program w Javie i mam wielkie braki jeśli chodzi o składnię tego języka. Ale do rzeczy - program musi pobierać ciąg znaków z klawiatury, pobierać klucz, który będzie liczbą kolumn w macierzy (tablicy 2-wymiarowej), wkleić ten tekst do tablicy i odczytał wierszami. Czyli szyfrowanie permutacyjne. Z resztą - co się będę rozpisywał: Zalóżmy, że mamy tekst jawny o długości L. Ustalmy klucz n, gdzie n<=L (oczywiście, w praktyce n jest znacznie mniejsze od L). W celu zaszyfrowania tworzymy macierz o n kolumnach i ?wypelniamy? jej kolejne wiersze tekstem jawnym. Powstaje M wierszy, gdzie L<=Mn. Dla przykładu, mając tekst ?AlaMaKota? i klucz n=3, otrzymujemy:ALAMAKOTAW celu utworzenia szyfrogramu, odczytujemy KOLUMNAMI zawartość macierzy; zatem tekst zakodowany w naszym przypadku ma postać:AMolataKaNad deszyfrowaniem pomęczę się sam (chodzi tu jak dać sobie radę z 'pustymi' znakami w tablicy - najważniejsze dla mnie jest to co tu ująłem. Oto 'efekt' mojego klecenia: public class perm { public static void main (String args[]) throws IOException { String s=""; int klucz; int i=0; byte tab[]= new byte[100]; char szyfr; System.out.print("Podaj tekst do zaszyfrowania: "); System.out.flush(); System.in.read(tab); for (i=0; i < 100; i++) { if (tab[i]!=0 && tab[i]!=10 && tab[i]!=13) {s+=((char) tab[i]); } s=s.toUpperCase(); System.out.println("Tekst jawny: " + s ); System.out.print("Podaj klucz: "); /* jak pobrać int z klawiatury?? */ if (klucz>tab.length) {System.out.println("Podaj mniejszy klucz.");} /* i tu byłbym wdzięczny za podpowiedź */ } }Byłbym wdzięczny za pomoc w 'skończeniu'. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
spicum Opublikowano 10 Maja 2004 Zgłoś Opublikowano 10 Maja 2004 pobierz byty'a/y z inputa sklej je po konwersji do Stringa i wywolaj na nim/ nich Integer.parseInt(stringWejsciowy) - lapiesz NumberFormatException i pozawodach z wczytywaniem inta. Co do wczytywania to wiesz ile znakow wczytales, wystarczy dopelnic tablice jakims predefiniowanym znakiem (pewnie 0) i po 2 konkurencji z 'pustymi' miejscami w tablicy. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Paszczu Opublikowano 10 Maja 2004 Zgłoś Opublikowano 10 Maja 2004 Dzięki :) Nawet nie pomyślałem o konwersji stringa na int a to niby takie oczywiste. Tak na przyszłość, czy zna ktoś jakieś inetowe kursy Javy najlepiej po polsku bo wszędzie praktycznie jest tylko taki - jeden i ten sam poprzepisywany na 100 różnych stronach i do tego niejasny dla mnie, początkującego. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
spicum Opublikowano 11 Maja 2004 Zgłoś Opublikowano 11 Maja 2004 wszystko co jest potrzebne do szczescia jest na www.java.sun.com w dziale Reference Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...