Wyświetlanie danych nie działa prawidłowo – pomoc w naprawieniu kodu

0

Hej mam pytanie chcę napisać program do szyfrowania tekstu. Wszystko wyświetla się okej ale wpisuje np "ADF" to tylko wyświetla mi na ekranie w polu wynik zaszyfrowana literę "F". Jak wyświetlić wszystko.. Zrobiłam tylko jedną aplikacje w Springu więc dopiero się uczę?

@RequestMapping(value="/szyfr",  method = RequestMethod.POST)
    public ModelAndView zaszyfruj(@ModelAttribute("d") Dane vdana ){
		
        ModelAndView mv = new ModelAndView();
        System.out.println("Ciag liter duzych..."+vdana.getLitera());
        byte[] b = vdana.getLitera().getBytes();
        int k = vdana.getKlucz();
        if(k>26&&k<1){
        	mv.addObject("y","Wybierz klucz z przedziału od 1 do 26");
        }
        for(byte n: b){
        	int h;
			int k1 = 65-k;
			if(n==32){
				h = n;
			}else
				h=65+(n-k1)%26;
			char t = (char)h;
			System.out.println(t);
			mv.addObject("t", t);
        }
    
			mv.addObject("litera",vdana.getLitera());
	        mv.addObject("klucz", vdana.getKlucz());
        return mv;
    }
}
<tr>
   <td>wynik: ${ t }</td>
</tr>
                            
0

Czy to:

mv.addObject("t", t);

przypadkiem w każdej iteracji nie nadpisuje poprzedniego elementu pod kluczem "t"? ;)

2

@dpienczyn: minigra :D
Uzupełnij kod tak, żeby na wyjściu pokazało się "ABCDEFGH".

class Minigame {
    public static void main(String[] args]) {
        String[] letters = {"A", "B", "C", "D", "E", "F", "G", "H"};

        String result = "";
        
        for(String letter : letters) {
            // Tutaj napisz swój kod
            // Nie możesz użyć System.out.print do wyświetlenia poszczególnych liter
        }
        
        System.out.println(result);
    }
}
0

Jak wyświetlić klucz, który pobieram do szyfrowania, żeby po wykonaniu szyfrowania był widoczny w input?
Dokładnie chodzi o to, ze jak zaszyfruje litery to zamiast liter które podaje użytkownik, są podmieniane na te zaszyfrowane. A z kluczem chciałabym zrobić tak samo np. podajemy klucz o wartości 3,to wartość podmieniona wynosiła by 26-3.

int kl= 26-vdana.getKlucz();
mv.addObject("klucz",kl); //to się nie wyświetla
mv.addObject("litera", t); //tu wynik liter zaszyfrowanych
<input name="klucz" id="subject" required="required" class="form" placeholder="Wpisz klucz od 1 do 25" >${kl}</input>
                        </div><!-- End Left Inputs -->
                        <!-- Right Inputs -->
                        <div class="col-xs-6 wow animated slideInRight" data-wow-delay=".5s">
                            <!-- Message -->
                            <textarea name="litera" id="message" class="form textarea"  placeholder="Wpisz tekst który chcesz zaszyfrować">${t}</textarea>
                        </div><!-- End Right Inputs -->
0
		@RequestMapping(value="/szyfr",  method = RequestMethod.POST)
    public ModelAndView zaszyfruj(@ModelAttribute("d") Dane vdana, @RequestParam String action){
		
        ModelAndView mv = new ModelAndView();
       
        System.out.println("Ciag liter..."+vdana.getLitera());
        byte[] b = vdana.getLitera().getBytes();
        int k = vdana.getKlucz();
        if(k>=26&&k<1){
        	mv.addObject("y","Wybierz klucz z przedziału od 1 do 25");
        }
        int h=0;
        for(byte n: b){
			int k1 = 65-k;
			int k2 = 97-k;
			if(n==32){
				h = n;
			}if(n>=65&&n<=90){
				h=65+(n-k1)%26;
			}if(n>=97&&n<=122){
				h=97+(n-k2)%26;
			}
			char e =(char)h;
			char data[] = {e};
			String str = new String(data);
			String[] tab = new String[]{str};
			StringBuilder t = new StringBuilder();
			for(String j: tab){
				t.append(j);
				
			}
			
			
				System.out.print(t);
				
			mv.addObject("litera", t);
			mv.addObject("t",t);
			
			
			if(action.equals("Odszyfruj")){
				String ty = Arrays.toString(data);
				byte[] text = ty.getBytes();
				for(byte tekst:text){
					int a=0;
					
					int k3 = 65-k;
					int k4 = 97-k;
					if(tekst==32){
						a=tekst;
						System.out.println(tekst);
					}if(tekst>=65&&tekst<=90){
						a=65+(tekst-k3)%26;
					}if(tekst>=97&&tekst<=122){
						a=97+(tekst-k4)%26;
					}
					char f =(char)a;
				}
				
			}
        }        
        mv.addObject("litera",vdana.getLitera());
        mv.addObject("klucz", vdana.getKlucz());
        return mv;
    }
}

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