Problema programma in Java
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 8 di 8

Discussione: Problema programma in Java

Cambio titolo
  1. #1
    Aggression L'avatar di Squall the beast
    Registrato il
    10-02
    Località
    Vicenza
    Messaggi
    14.290

    Problema programma in Java

    Salve ragazzi. Per esercizio volevo fare un programma che, una volta acquisito un numero da tastiera, stampi sullo standard output i numeri interi in ordine decrescente, dal valore dell'argomento ricevuto (incluso) fino al valore 1, un numero per riga.

    Ho provato a risolverlo con questo codice:

    Spoiler:

    import java.util.Scanner;
    public class Decremento
    {
    public static void main (String[] args)
    {
    Scanner console = new Scanner(System.in);
    System.out.println("Inserire un numero intero positivo per il calcolo");
    System.out.println("\n");
    int numero = console.nextInt();
    if (numero>0)
    {
    for (int i= numero; i>1; i--)
    {
    int help = numero;
    System.out.println(help);
    numero = help - 1;
    }
    }
    else
    {
    System.out.println("Inserire un valore corretto");
    }
    }
    }


    Però se ad esempio do 5 come numero il prog mi stampa:
    Spoiler:

    5
    5
    4
    3
    2


    Potete gentilmente spiegarmi cosa ho sbagliato?

  2. #2
    The Hermit
    Ospite
    Quel ciclo for non è per nulla corretto rispetto a quello che intendi fare. Non serve creare un'altra variabile per scorrere i valori: hai già "numero"!.

    Io ti suggerisco due possibili soluzioni:
    Codice:
    for(;numero > 1; numero--)
    System.out.println(numero);
    OPPURE

    Codice:
    while(numero > 1) {
    System.out.println(numero);
    numero--;
    }

  3. #3
    N Y A N ! L'avatar di Iron84
    Registrato il
    04-05
    Località
    Ferrara (provincia)
    Messaggi
    6.131
    Citazione The Hermit Visualizza Messaggio
    Quel ciclo for non è per nulla corretto rispetto a quello che intendi fare. Non serve creare un'altra variabile per scorrere i valori: hai già "numero"!.

    Io ti suggerisco due possibili soluzioni:
    Codice:
    for(;numero > 1; numero--)
    System.out.println(numero);
    OPPURE

    Codice:
    while(numero > 1) {
    System.out.println(numero);
    numero--;
    }
    guarda che anche il tuo codice non stampa l'1 alla fine

    basta che mettiate i>=1 (o i>0) (anche se ovviamente il codice dell'autore usa comunque variabili inutili nel for)

  4. #4
    Aggression L'avatar di Squall the beast
    Registrato il
    10-02
    Località
    Vicenza
    Messaggi
    14.290
    Citazione Iron84 Visualizza Messaggio
    guarda che anche il tuo codice non stampa l'1 alla fine

    basta che mettiate i>=1 (o i>0) (anche se ovviamente il codice dell'autore usa comunque variabili inutili nel for)
    Si ma mettendo come hai fatto te (ci avevo già pensato) ad esempio se inserisco 5 il prog da:
    5
    5
    4
    3
    2
    1.

    Io non voglio che il 5 venga ripetuto!

  5. #5
    ...ros1k... L'avatar di <TheShop>Evoc Thurner
    Registrato il
    10-03
    Località
    La Spezia
    Messaggi
    7.557
    allora fai

    for(i = numero-1; i>=1; i--)
    System.out.println(i+"\n");

  6. #6
    The Hermit
    Ospite
    Citazione Iron84 Visualizza Messaggio
    guarda che anche il tuo codice non stampa l'1 alla fine

    basta che mettiate i>=1 (o i>0) (anche se ovviamente il codice dell'autore usa comunque variabili inutili nel for)
    Sorry, avevo capito 1 escluso

  7. #7
    N Y A N ! L'avatar di Iron84
    Registrato il
    04-05
    Località
    Ferrara (provincia)
    Messaggi
    6.131
    il primo 5 &#232; quello che stai dando in input eh

  8. #8
    Aggression L'avatar di Squall the beast
    Registrato il
    10-02
    Località
    Vicenza
    Messaggi
    14.290
    Citazione Iron84 Visualizza Messaggio
    il primo 5 è quello che stai dando in input eh
    Che slabbrato che sono

    Grazie mille delle risposte xD

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •