Omouvám se, ale omylem se mi vymazal text. Dělám úkol z Javy (Vigenerova sifra) a fce zasifrovani a Odsifrovani mi nefunguji. Nemohl by mi někdo poradit, co tam mám špatně? Předem děkuji za odpověď.
Příspěvky odeslané z IP adresy 81.90.170.–
public class VigenerovaSifra {
private String klic;
public VigenerovaSifra(String klic) {
super();
this.klic = klic;
}
public String getKey() {
return klic;
}
public void setKey(String klic) {
this.klic = klic;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return String.format("%s", this.klic);
}
protected String upravaVety(String veta) {
StringBuilder s = new StringBuilder();
int p = 0;
for (int i = 0; i < veta.length(); i++) {
if (p == klic.length()) {
p = 0;
}
s.append(veta.charAt(p));
p++;
}
return s.toString();
}
protected String Zasifrovani(String[][] VigeneruvCtverec, String veta) {
StringBuilder s = new StringBuilder();
for (int j = 0; j < veta.length(); j++) {
for (int i = 0; i < klic.length(); i++) {
s.append(VigeneruvCtverec[(veta.charAt(i) & 31) - 1][(klic.charAt(i) & 31) - 1].toUpperCase());
}
}
return s.toString();
}
protected String Odsifrovani(String[][] VigeneruvCtverec, String sifra) {
StringBuilder s = new StringBuilder();
for (int j = 0; j < sifra.length(); j++) {
for (int i = 0; i < klic.length(); i++) {
s.append(VigeneruvCtverec[(sifra.charAt(i) & 31) + 1][(klic.charAt(i) & 31) + 1].toUpperCase());
}
}
return s.toString();
}
}