Prime armi in Java aiuto programma

di il
1 risposte

Prime armi in Java aiuto programma

Leggere da tastiera una stringa e determinare la percentuale di vocali e consonanti.
Non capisco perché non viene.
package javaapplication15;
import java.io.*;
public class JavaApplication15 {

public static void main(String[] args) {
InputStreamReader input=new InputStreamReader(System.in);
BufferedReader tastiera=new BufferedReader(input);
int i, n;
float pv=0, pcons=0, v=0, cons=0;
String testo="";
char carattere;
System.out.println("Inserire la stringa");
try{
testo = tastiera.readLine();
}
catch(Exception e){
System.out.println("Errore!");
return;
}
n = testo.length();
for(i=0;i<n;i++){
carattere = testo.charAt(i);
if((carattere=='A')||(carattere=='a')||(carattere=='E')||(carattere=='e')||
(carattere=='I')||(carattere=='i')||(carattere=='O')||(carattere=='o')||
(carattere=='U')||(carattere=='u')){
if((carattere>='a' && carattere<='z')||(carattere>='A' && carattere<='Z')){
v = v + 1;
}
else{
cons = cons + 1;
}}

pv = (v/n)*100;
pcons = (cons/n)*100;
}
System.out.println("La percentuale di vocali e': "+pv );
System.out.println("La percentuale di consonanti e': "+pcons );
}
}


E poi non so come fare quest'altro:
Generare un numero casuale compreso tra 20 e 60 utilizzando le funzioni in Java.

Grazie a chi risponderà.
Buonasera.

1 Risposte

  • Re: Prime armi in Java aiuto programma

    cnolobo ha scritto:


    Non capisco perché non viene.
    Il problema più evidente che salta all'occhio è che fai prima il test delle sole vocali e poi se vocale fai il test per lettera. Non ha senso. Se trovi una consonante, non entri nemmeno nel primo if!

    Quindi: prima fai il test per una lettera, poi se è vocale fai X altrimenti fai Y.

    cnolobo ha scritto:


    E poi non so come fare quest'altro:
    Generare un numero casuale compreso tra 20 e 60 utilizzando le funzioni in Java.
    Si usa Math.random() o i next di java.util.Random. Per generare range "particolari", è sufficiente sommare/sottrarre una base fissa.
Devi accedere o registrarti per scrivere nel forum
1 risposte