[/COLOR] Ciao a tutti, mi trovo un pò in difficoltà nel capire l'output di questo esercizio.
import java.util.Scanner;
public class ProvaFattura
{
public static void main( String args[] )
{
// creo uno scanner per ricevere dati da tastiera
Scanner input = new Scanner(System.in);
// creo gli oggetti per la classe Fattura
Fattura fattura1 = new Fattura( 0001, "Scheda Madre Asrock", 4, 120.50 );
Fattura fattura2 = new Fattura( 0002, "Processore intel", 4, 98.50 );
// stampa il totale delle fatture
System.out.printf( "L'articolo in fattura1 è:\n\nCodice: %d\nDescrizione: %s\nQuantità: %d\nPrezzo: € %.2f",
fattura1.getCodice(), fattura1.getDescrizione(), fattura1.getQuantita(), fattura1.getPrezzo() );
System.out.println();
fattura1.totaleFattura();
System.out.printf( "L'articolo in fattura2 è:\n\nCodice: %d\nDescrizione: %s\nQuantità: %d\nPrezzo: € %.2f",
fattura2.getCodice(), fattura2.getDescrizione(), fattura2.getQuantita(), fattura2.getPrezzo() );
System.out.println();
fattura2.totaleFattura();
// inserisco gli articoli in fattura1
System.out.println();
System.out.print( "Inserisci l'articolo:\n" );
System.out.print( "Codice: " );
int argCod = input.nextInt();
System.out.print( "Descrizione: " );
String argDesc = input.nextLine();
System.out.print( "Quantità: " );
int argQta = input.nextInt();
System.out.print( "Prezzo: " );
double argPrez = input.nextDouble();
fattura1.setCodice(argCod);
fattura1.setDescrizione(argDesc);
fattura1.setQuantita(argQta);
fattura1.setPrezzo(argPrez);
System.out.println();
// stampo il totale di fattura1
System.out.printf( "L'articolo in fattura1 è:\n\nCodice: %d\nDescrizione: %s\nQuantità: %d\nPrezzo: € %.2f",
fattura1.getCodice(), fattura1.getDescrizione(), fattura1.getQuantita(), fattura1.getPrezzo() );
System.out.println();
fattura1.totaleFattura();
System.out.println();
// inserisco gli articoli in fattura2
System.out.println();
System.out.print( "Inserisci l'articolo:\n" );
System.out.print( "Codice: " );
argCod = input.nextInt();
System.out.print( "Descrizione: " );
argDesc = input.next();
System.out.print( "Quantità: " );
argQta = input.nextInt();
System.out.print( "Prezzo: " );
argPrez = input.nextDouble();
fattura2.setCodice(argCod);
fattura2.setDescrizione(argDesc);
fattura2.setQuantita(argQta);
fattura2.setPrezzo(argPrez);
// stampa il totale di fattura2
System.out.printf( "L'articolo in fattura2 è:\n\nCodice: %d\nDescrizione: %s\nQuantità: %d\nPrezzo: € %.2f",
fattura2.getCodice(), fattura2.getDescrizione(), fattura2.getQuantita(), fattura2.getPrezzo() );
System.out.println();
fattura2.totaleFattura();
} // fine del metodo main
} // fine della classe ProvaFattura
e questo è l'output:
L'articolo in fattura1 è:
Codice: 1
Descrizione: Scheda Madre Asrock
Quantità: 4
Prezzo: € 120,50
Il totale della fattura è 482,00
L'articolo in fattura2 è:
Codice: 2
Descrizione: Processore intel
Quantità: 4
Prezzo: € 98,50
Il totale della fattura è 394,00
Inserisci l'articolo:
Codice: 0003
Descrizione: Quantità: Descrizione: Quantità:
Come vedete, l'ultima riga di output non è corretta, ma non ho capito il perchè, penso sia un problema inerente la riga String = input.nextLine(); ma sinceramente non so dove sbaglio.
Grazie

Rispondi quotando