Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    2

    programma java

    Mi serve un aiuto ! devo risolvere qst esercizio con java.(nn è difficile)
    Scrivere un programma che chiede in ingresso un testo e un numero intero N. Il testo
    viene criptato usando il seguente procedimento: ogni carattere viene sostituito da quello
    che lo segue nell'ordine alfabetico di un numero di posizioni pari a N; la codifica è
    circolare, ossia si suppone che la lettera 'z' sia seguita dalla lettera 'a'. Il testo così criptato
    deve essere stampato. Ad esempio, dati “java” e N=2, il risultato è “lcxc”.

    io ho provato cosi ma alla fine mi stampa il codice ascii delle lettere e nn la lettere(a,b,c) sapreste aiutarmi?? voi come fareste??

    codice:
    public class es1 {
       public static void main(String[] arg) {
          MainWindow finestra = new MainWindow();
          InputBox inDati = new InputBox(finestra,"Inserisci i numeri");
          OutputBox uDati = new OutputBox(finestra,"Stampa somma e media");
          String t = inDati.getString("Testo? ");
          StringBuffer nt=new StringBuffer(t);
          int N =nt.length();
          int[] v = new int[N];
          for(int i=0;i<nt.length();i++){
             char ch;
             ch=nt.charAt(i);
             String t = inDati.getString("Testo? ");
             v[i]=ch;
          }
       }
    
       int chiave=inDati.getInteger("inserisci numero");
          for(int i=0;i<nt.length();i++){
             uDati.show();
          }
    grazie mille!!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315

    Moderazione

    Prendi visione del Regolamento interno, dove vengono specificati degli obblighi sull'apertura di nuove discussioni:

    1) Il titolo deve dare un'idea del contenuto della discussione: qui dentro, il 100% delle discussioni riguardano programmi Java (altrimenti il forum non si chiamava Java )

    2) Il codice va postato indentato e all'interno degli appositi tag CODE

    3) Non è ammessa la richiesta di svilupop codice (quindi, la parte di richiesta "come lo fareste voi?" non viene considerata).

    Sistemo il tutto e poi cerco di capirci qualcosa...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Dopo aver sistemato il tuo codice, oltre a capire ancora meno direi che manca gran parte del codice, almeno quello operativo.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    2
    Si eccoti il programma come l ho fatto sul mio computer.alla fien però mi stampa il codice ascii delle lettere e nn le lettere ;volevo sapere se era possibile farmi stampare le lettere

    codice:
    import javabook.*;
    public class cesare1 {
    
    public static void main(String[] args) {
     	 MainWindow finestra = new MainWindow();
    	InputBox inDati = new InputBox(finestra,"Inserisci i numeri");
    	  OutputBox uDati = new OutputBox(finestra,"Stampa somma e media");
    finestra.show();
    	 
    String t = inDati.getString("Testo? ");
     StringBuffer nt=new StringBuffer(t);
     int N =nt.length();
     int[] v = new int[N];
     for(int i=0;i<nt.length();i++){
    	 char ch;
    	   ch=nt.charAt(i);
    	     v[i]=ch; 
     }
    int chiave=inDati.getInteger("inserisci numero");
     
    for(int i=0;i<nt.length();i++){
    		  uDati.printLine(v[i]+chiave);}
    		  uDati.show();
     }}
    grazie.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    All'interno dei tag CODE devi inserire il codice sorgente, non il nome del linguaggio o della tecnologia... ho corretto anche l'ultimo tuo post.

    Ad ogni modo, questa istruzione

    codice:
    uDati.printLine(v[i]+chiave);
    non va bene... in questo modo stai stampando un intero ( v[i] + chiave ) e non il carattere corrispondente. Per convertire un intero in un carattere, dovrai effettuare un'operazione di cast:

    codice:
    uDati.printLine((char) (v[i]+chiave));
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.