L'ho fatto con il metodo:
public void sostituzione(char frase, int chiave){
while(frase >= 0){
frase++;
frase = (char) (frase + chiave);
}
Poi Questo è tutto il codice dell'esercizio, programma completo:
package Es2;
import java.util.*;
public class FrequenzaCarattere {
public static void main(String[] args) {
/*Scrivere un programma che conti il numero di volte che una cifra
* appare in numero telefonico. il programma deve creare un array di dimensione
* 10 che memorizza il conto di ogni cifra da 0 a 9. leggere da tastiera un numero di
* telefono come stringa. esaminare ogni carattere del numero telefonico e incrementareù
* il conteggio relativo alla cifra nell'array. visualizzare il contenuto dell'array.
* */
ArrayList<String> cifre = new ArrayList<String>(10);
String telefono = null;
int controlla = 0, chiave = 0;
char frase = 0;
Scanner in = new Scanner(System.in);
do{
System.out.println("Inserisci numero di telefono: ");
frase = (char) in.nextInt();
cifre.add((char)frase, telefono); //qui non mi trovo, cioè deve memorizzare solo frase e aggiungere nella lista
System.out.println("Per terminare digita -1");
controlla = in.nextInt();
if(controlla == -1)
break;
}while(true);
System.out.println("Inserisci una chiave:");
chiave = in.nextInt();
while(frase >= 0){
frase++;
frase = (char) (frase + chiave);
}
System.out.println("Il conteggio è: " + frase);
for(int i=0; i < cifre.size(); i++){
System.out.println(cifre.get(i));
}
}
}
GENTILMENTE MI POTETE CORREGGERE TUTTI GLI ORRORI CHE HO FATTO, GRAZIE.