Cerca Carattere

di il
7 risposte

Cerca Carattere

Non riesco a svolgere l'ultimo pezzo mi potete aiutare??

[code

import java.util.*;

public class CercaCarattereMain {

/*Si realizzi una classe java che definisce:
* a. il metodo conta che accetta in ingresso una stringa e un carattere e restituisce il numero
* di occorrenze del carattere all'interno della stringa
* b. il metodo main che legge da input una stringa e un numero intero n. invoca il
* metodo conta passandogli la stringa letta da input e il carattere che si trova in posizione n
* nella stringa stessa stampa a video un messaggio
* stringa = pippo, n = 2 il numero di volte che compere p è 2
*/
public static void main(String[] args) {

Scanner in = new Scanner(System.in);

System.out.println("Inserisci un frase: ");
String f = in.nextLine();
System.out.println("Inserisci un carattere: ");
char c = in.ne // qui ho un problema e non so andare avanti come devo fare?
//ed il restante nel metodo come si fa affare il passaggio

CercaCarattere.conta(f, c);


}

}

][/code]



public class CercaCarattere {
	
	public static int conta(String frase, char lettera){
		int str = frase.length(), conta = 0;
		for(int i= 0; i <= str; i++){
			if(frase.charAt(i) == lettera)
				conta++;
		}
		return conta;
		
	}

}


7 Risposte

  • Re: Cerca Carattere

    robot ha scritto:


    * b. il metodo main che legge da input una stringa e un numero intero n. invoca il
    * metodo conta passandogli la stringa letta da input e il carattere che si trova in posizione n
    * nella stringa stessa
    Quindi dal testo vuol dire che non devi chiedere in input un carattere ma un indice, ovvero un intero. Poi con l'indice andrai a prendere il carattere i-esimo nella stringa e questo sarà quello da cercare.

    robot ha scritto:


    * stringa = pippo, n = 2 il numero di volte che compere p è 2
    Ma p si ripete in realtà 3 volte, non 2.

    E il testo dice che al metodo di "conta" non devi passare l'indice ma già il carattere. Quindi se passi "pippo" e 'p', quanto dovrebbe contare? A rigor di logica ... 3.
  • Re: Cerca Carattere

    Char c = in.next().charAt(0);
    L'ho fatto in questo modo, ma per il resto non so come si procede
  • Re: Cerca Carattere

    
    import java.util.*;
    
    public class CercaCarattereMain {
    	
    	/*Si realizzi una classe java che definisce: 
    	 * a.  il metodo conta che accetta in ingresso una stringa e un carattere e restituisce il numero
    	 * di occorrenze del carattere all'interno della stringa
    	 * b. il metodo main che legge da input una stringa e un numero intero n. invoca il
    	 * metodo conta passandogli la stringa letta da input e il carattere che si trova in posizione n
    	 * nella stringa stessa stampa a video un messaggio
    	 * stringa = pippo, n = 2 il numero di volte che compere p è 2
    	 */
    	public static void main(String[] args) {
    		
    		Scanner in = new Scanner(System.in);
    		
    		System.out.println("Inserisci un frase: ");
    		String f = in.nextLine();
    		System.out.println("Inserisci un carattere: ");
    		char c = in.next().charAt(0); 
    		
    		
    		CercaCarattere.conta(f, c);
    		
    		System.out.println("Nome Stringa: " + CercaCarattere.conta(f, (char) 0) + "numero di volte cha compare il carattere: " + CercaCarattere.conta(null, c));
    	}
    
    }
    
    
    
    
    

    Se mi puoi correggere il codice che non capisco come si risolve questa situazione
  • Re: Cerca Carattere

    robot ha scritto:


    Se mi puoi correggere il codice che non capisco come si risolve questa situazione
    Non è questione di "correggere" ... non hai ancora compreso la richiesta del testo. Dice chiaramente: "il metodo main che legge da input una stringa e un numero intero n"

    Questo numero intero farà da "indice" nella stringa anch'essa letta in input, quindi estrarrai il carattere al tal indice ed è il carattere che passerai al metodo "conta".
  • Re: Cerca Carattere

    Non l'ho so fare, forse ancora non ho capito
    Me lo scrivi te un breve codice?
    grazie
  • Re: Cerca Carattere

    Salve a tutti,

    Questo esercizio l'ho cambiato diversamente rispetto a prima.
    E' ho ragionato in questo modo.
    Gentilmente me l'ho potete correggere?
    
    import java.util.*;
    
    public class CercaCarattereMain {
    	
    	/*Si realizzi una classe java che definisce: 
    	 * a.  il metodo conta che accetta in ingresso una stringa e un carattere e restituisce il numero
    	 * di occorrenze del carattere all'interno della stringa
    	 * b. il metodo main che legge da input una stringa e un numero intero n. invoca il
    	 * metodo conta passandogli la stringa letta da input e il carattere che si trova in posizione n
    	 * nella stringa stessa stampa a video un messaggio
    	 * stringa = pippo, n = 2 il numero di volte che compere p è 2
    	 */
    	public static void main(String[] args) {
    		
    		Scanner in = new Scanner(System.in);
    		
    		System.out.println("Inserisci un frase: ");
    		String f = in.nextLine();
    		System.out.println("Inserisci un intero: ");
    		int n = in.nextInt();
    		
    		int s = f.charAt(n);
    		
    		
    		
    		System.out.println("Nome Stringa: " + f + "numero di volte cha compare il carattere: " + CercaCarattere.conta(f, (char)s));
    	}
    
    }
    
    
    
    
    
    
  • Re: Cerca Carattere

    robot ha scritto:


    
    		int n = in.nextInt();
    		
    		int s = f.charAt(n);
    		
    		System.out.println("Nome Stringa: " + f + "numero di volte cha compare il carattere: " + CercaCarattere.conta(f, (char)s));
    
    Qui nulla di errato. L'unica cosa è che charAt restituisce char, quindi meglio assegnare subito ad un char piuttosto che ad int e poi fare dopo un cast.
Devi accedere o registrarti per scrivere nel forum
7 risposte