Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    4

    [Java] Verifica se un numero è pari, divisibile per tre o per cinque

    devo fare un programmino. dove se un numero è divisibile per due scrivo qui, per tre quo, per cinque qua. Se non lè stampa in il numero.
    Qui 'è il listato non capisco perchè non mi stampa il numero. La compilazione va comunque a buon fine.
    grazie


    codice:
    class Divisibile{
        public static void main(String args[]){
            boolean div=false;
            int j;
            for (int i=1;i<=25;i++){
                if (i%2==0){
                    System.out.print("qui ");
                    div=(div||true);
                } else {
                    div=(div||false);
                }
                if (i%3==0){
                    System.out.print("quo ");
                    div=(div||true);
                } else {
                    div=(div||false);
                }
                if (i%5==0){
                    System.out.print("qua ");
                    div=(div||true);
                } else {
                    div=(div||false);
                }
                if (div){
                    System.out.println();
                } else {                
                    System.out.print(i+" ");
                }
            }
        }
    }
    Ultima modifica di LeleFT; 11-07-2014 a 12:45 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da albza Visualizza il messaggio
    devo fare un programmino. dove se un numero è divisibile per due scrivo qui, per tre quo, per cinque qua. Se non lè stampa in il numero.
    Non serve tutta quella logica con la variabile 'div' e quei OR. Tra l'altro è solo fumosa e poco comprensibile (oltre al fatto che div||false è inutile poiché non cambia il risultato!)

    Dato che il numero non può essere divisibile contemporaneamente per 2, 3 e 5 (in nessuna combinazione, cioè o per uno di questi o per nessuno di questi), basta:

    Se divisibile per 2, stampa qui
    Altrimenti se divisibile per 3, stampa quo
    Altrimenti se divisibile per 5, stampa qua
    Altrimenti stampa il numero
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,317
    @albza: quando posti del codice, mettilo tra i tag [CODE] ... [/CODE], in modo da preservare formattazione ed indentazione.

    Inoltre, il titolo della discussione è, appunto, un titolo e serve a far capire il contenuto della discussione. Il contenuto di questa discussione riguarda un programma per la verifica di numeri, non il tuo esame di lunedì... che poi le due cose coincidano, non riguarda questo forum e la fruibilità dei suoi contenuti. A tal proposito, ti invito anche a leggere il Regolamento interno, che ti spiega l'uso dei titoli, delle parole da non usare (come "help", appunto) e tante altre cose.


    Sistemo anche il titolo.


    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
    Jul 2014
    Messaggi
    4
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Non serve tutta quella logica con la variabile 'div' e quei OR. Tra l'altro è solo fumosa e poco comprensibile (oltre al fatto che div||false è inutile poiché non cambia il risultato!)

    Dato che il numero non può essere divisibile contemporaneamente per 2, 3 e 5 (in nessuna combinazione, cioè o per uno di questi o per nessuno di questi), basta:

    Se divisibile per 2, stampa qui
    Altrimenti se divisibile per 3, stampa quo
    Altrimenti se divisibile per 5, stampa qua
    Altrimenti stampa il numero
    Innanzitutto mi scuso! Mancavo dal forum da un pò e ho scordato la netiquette.
    Forse non sono stato chiaro. Per esempio 6 è divisibile per 2 o per 3. Quindi scrive "quiquo".
    10 lo puoi dividere per 2 o per cinque quindi scrive "quiqua" ecc. Se non è divisibile scrive il numero e basta.
    Se fosse stato come scrivi tu, effettivamente con tre if...else annidati combinavo. Per questo ho creato quel boolean.
    Così com'è mi stampa 1, poi le varie combinazioni corrette di quiquoqua. Però 7 per esempio non lo scrive.
    Grazie

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da albza Visualizza il messaggio
    Per esempio 6 è divisibile per 2 o per 3. Quindi scrive "quiquo".
    10 lo puoi dividere per 2 o per cinque quindi scrive "quiqua" ecc. Se non è divisibile scrive il numero e basta.
    Sì vero, scusate ... cavoli, non ho per niente ragionato subito ....

    Ma ad ogni modo non serve tutta quella logica fumosa con quei OR. Se il punto è solo fare in modo che il numero non venga stampato se hai già stampato qui e/o quo e/o qua, allora un boolean lo puoi certamente usare ma basta metterlo inizialmente (nel corpo del for ... non fuori) a false e se stampi uno dei qui/quo/qua lo metti a true. Alla fine lo testi per stampare il numero. Stop.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    4

    siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiii

    Quote Originariamente inviata da andbin Visualizza il messaggio
    Sì vero, scusate ... cavoli, non ho per niente ragionato subito ....

    Ma ad ogni modo non serve tutta quella logica fumosa con quei OR. Se il punto è solo fare in modo che il numero non venga stampato se hai già stampato qui e/o quo e/o qua, allora un boolean lo puoi certamente usare ma basta metterlo inizialmente (nel corpo del for ... non fuori) a false e se stampi uno dei qui/quo/qua lo metti a true. Alla fine lo testi per stampare il numero. Stop.

    Grazieeeeeeeeeeee anch'io non ho ragionato!!!!!!
    Bastava mettere la dichiarazione boolen all'interno del for!!!!
    Comunque, che ci sono div||false eccedenti lo so! Non ne venivo fuori e gli ho aggiunti.
    Grazie

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.