Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Pari/dispari

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    5

    Pari/dispari

    Ciao ragazzi, è il primo messaggio che posto in questo forum e spero di metterlo nella sezione giusta
    Ho un problema su un'esercizio che devo fare ( faccio la terza liceo quindi roba molto semplice )

    InputStreamReader isr=new InputStreamReader(System.in);
    BufferedReader br=new BufferedReader(isr);
    System.out.println("inserire quanti numeri ci sono");
    int n=Integer.parseInt(br.readLine());
    int vett[]= new int[n];
    int num ;
    int q=0;
    int c=0;
    double pari;
    double dispari;
    for (int i=0; i<n; i++) {
    System.out.println("inserire i numeri"+i); num=Integer.parseInt(br.readLine());
    if (( num % 2) == 0) {
    System.out.println("pari");
    q++; }
    else {
    System.out.println("dispari");
    c++;} }
    pari=(q/n)*100;
    dispari=(c/n)*100;
    System.out.println("la percentuale di numeri pari è "+pari);
    System.out.println("la percentuale di numeri dispari è"+dispari);
    Mi dovrebbe stampare la percentuale e invece mi stampa zero, e non capisco il motivo dato che ho provato a stampare singolarmente n,q e c e vengono giusti. Probabilmente ho fatto un errore stupido...potete aiutarmi???

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    L'errore sta dove fai:
    q/n e analogamente c/n
    poichè q,c e n sono tutti interi la loro divisione sarà intera , inoltre q e c saranno sempre minori o uguali a n e quindi la loro divisione intera per n (salvo il caso uno tra q e c sia uguale a n) varrà sempre 0

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    5
    ah ho capito ma quindi come posso fare ?? non mi viene in mente niente

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da fra995
    ah ho capito ma quindi come posso fare ?? non mi viene in mente niente
    Conosci solo le variabili intere?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    5
    risolto, grazie
    nono conosco anche le altre !! pensavo di dover mettere double anche n e a quel punto non andava bene il vettore,ma bastava cambiare solo q e c

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Originariamente inviato da fra995
    ah ho capito ma quindi come posso fare ?? non mi viene in mente niente
    un cast a double fa proprio al caso tuo

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    5
    Per non aprire un altro topic scrivo qui
    Devo fare questo esercizio:
    Dato un elenco di persone di cui sono indicati il nome e l'anno di nascita scrivi il nome del piu vecchio e del piu giovane.
    InputStreamReader isr=new InputStreamReader(System.in);
    BufferedReader br=new BufferedReader(isr);
    System.out.println("inserire numero di persone");
    int p=Integer.parseInt(br.readLine());
    int vett[]= new int[p];
    String nome= new String();
    int anno;
    int max= vett[0];
    for(int i=0 ; i<p ; i++) {
    System.out.println("Inserire nome persona"+i);
    nome=br.readLine();
    System.out.println("Inserire anno di nascita"+i); anno=Integer.parseInt(br.readLine());
    vett[i]=anno; }
    Praticamente ho solo fatto il ciclo dove inserire nome e data di nascita, ma non riesco ad andare avanti !! Saprei trovare l'anno di nascita del piu vecchio e del piu giovane ma non so come far stampare il nome !!
    Scusate se ho troppe domande ma ho un esame fra poco

  8. #8
    Semplicemente dovrai innanzitutto creare una classe Persona contenente i dati della persona (nome, cognome e data) e poi dovrai crearti un array di oggetti Persona che, ordinerai in base alla data, e del quale stamperai il nome degli oggetti Persona contenuti.

    Se posso te lo scrivo ^^
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    5
    Originariamente inviato da Naruto 92
    Semplicemente dovrai innanzitutto creare una classe Persona contenente i dati della persona (nome, cognome e data) e poi dovrai crearti un array di oggetti Persona che, ordinerai in base alla data, e del quale stamperai il nome degli oggetti Persona contenuti.

    Se posso te lo scrivo ^^
    Se me lo scrivi mi fai un piacere se no fa lo stesso!

  10. #10
    ecco a te. ovviamente non è un codice ottimale, infatti devi implementare diversi controlli aggiuntivi.
    purtroppo l'ho scritto di fretta e nn ho potuto fare di più ^^
    codice:
    /**
     * @author Naruto 92
     */
    public class Persona
    {
        private String nome, cognome;
        private int annoNascita;
        
        public Persona(String ilNome, String ilCognome, int lAnnoNascita){
            /*
             * da implementarsi i controlli come: stringa vuota o anno non valido
             */
            nome=ilNome;
            cognome=ilCognome;
            annoNascita=lAnnoNascita; 
        }
        /*
         * da implementarsi i metodi setter e getter mancanti
         */
        public int getAnnoNascita(){
            return annoNascita;
        }
        public void stampaDettagli(){
            System.out.println("- " + cognome + " " + nome + " nato\\a nel " + annoNascita);
        }
    }
    codice:
    import java.util.*;
    import java.io.*;
    
    /**
     * @author Naruto 92
     */
    public class Elenco
    {
        private Vector<Persona> elenco;
        public Elenco(){
            elenco=new Vector<Persona>(0);
        }
        public void acquisisciPersone(){
            String nome, cognome;
            int anno;
            long index=0;
            boolean flag=false;
            try{
                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                System.out.println("> Inserimento delle persone nell'elenco. Scrivi EXIT nel campo Cognome per uscire");
                while(!flag){
                    System.out.println("\n> Inserimento della persona numero " + (++index) + ":");
                    System.out.print("> Inserisci il Cognome: ");
                    cognome=br.readLine();
                    flag=cognome.equalsIgnoreCase("EXIT");
                    if(flag){
                        System.out.println("\n> Acquisizione terminata.\n");
                        break;
                    }
                    System.out.print("> Inserisci il Nome: ");
                    nome=br.readLine();
                    System.out.print("> Inserisci il l'Anno di Nascita: ");
                    anno=Integer.parseInt(br.readLine());
                    elenco.add(new Persona(nome, cognome, anno));
                }
            }catch(Exception e){ //da gestirsi meglio; gestire eccezioni come NumberFormatException e IOException
                e.printStackTrace();
            }
        }
        public void ordinaElenco(){
            for(int i=0; i<elenco.size()-1; i++){
                for(int j=i+1; j<elenco.size(); j++){
                    if(elenco.get(i).getAnnoNascita()>elenco.get(j).getAnnoNascita()){
                        Persona tmp=elenco.get(i);
                        elenco.set(i, elenco.get(j));
                        elenco.set(j, tmp);
                    }
                }
            }
        }
        public void stampaElenco(){
            System.out.println("> Stampa dell'elenco: ");
            for(int i=0; i<elenco.size(); i++){
                elenco.get(i).stampaDettagli();
            }
        }
        public static void main(String args[]){
            Elenco e=new Elenco();
            e.acquisisciPersone();
            e.ordinaElenco();
            e.stampaElenco();
        }
    }
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

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 © 2024 vBulletin Solutions, Inc. All rights reserved.