Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Problema con variabile Float

    Buona Sera, mi ritrovo con questo problema, io dichiaro una variabile float es float a = 2,4;

    e mi viene restituito questo errore da netBeans:

    init:
    deps-jar:
    Compiling 1 source file to C:\Users\FSC\Documents\NetBeansProjects\Pizzeria\b uild\classes
    C:\Users\FSC\Documents\NetBeansProjects\Pizzeria\s rc\pizzeria\Main.java:44: ';' expected
    prezzo_finale = prezzo_finale + 3,5;
    1 error
    BUILD FAILED (total time: 0 seconds)

    Ma se dichiaro float a = 2; (quindi utilizzando un numero intero) non mi da più errore. Ho anche provato a cambiare la virgola al punto, ma senza risultato.

    Questo è tutto il codice del mio programma.

    //Licenza:GPL v2
    //Italian Software

    package pizzeria;

    import java.io.*;

    public class Main {

    public static void main(String[] args) throws IOException
    {
    String scelta;
    int sceltai=0;
    String scelta2;

    float prezzo_finale = 0;

    //IMPOSTAZIONE INPUT - OUTPUT
    InputStreamReader in = new InputStreamReader(System.in);
    BufferedReader tastiera = new BufferedReader(in);

    do
    {
    //MENù
    System.out.println("BENVENUTO IN PIZZA NAPOLI!\n");
    System.out.println("SELEZIONARE LA PIZZA DESIDERATA:\n");
    System.out.println("1)Margherita 4,00€\n");
    System.out.println("2)Marinara 3,50€\n");
    System.out.println("3)Diavola 5,00€\n");
    System.out.println("4)Napoli 5,00€\n");
    System.out.println("5)Frutti di Mare 6,00€\n");
    System.out.println("6)Messicana 6,50€\n");
    System.out.println("Inserire la pizza desiderata:");

    scelta = tastiera.readLine();
    sceltai = Integer.valueOf(scelta).intValue();

    if(sceltai==1)
    {
    prezzo_finale = prezzo_finale + 4;
    }else if(sceltai == 2)
    {
    prezzo_finale = prezzo_finale + 3,5; <------ In questa riga errore
    }

    System.out.println("Desidera un'altra pizza?");
    System.out.println("Si per continuare.");
    scelta2 = tastiera.readLine();

    }while(scelta2.equals("Si"));

    System.out.println("Il conto e' di "+ prezzo_finale);
    }

    }


    In cosa sbaglio? cosa devo fare?

  2. #2
    Usa il punto al posto della virgola per separare la parte intera da quella decimale

  3. #3
    Ho già provato, ma per usare il punto devo fare il casting. e poi non bisognerebbe usare la virgola per decimali?

  4. #4
    Originariamente inviato da 1MM1
    Ho già provato, ma per usare il punto devo fare il casting. e poi non bisognerebbe usare la virgola per decimali?
    Prova a fare così, notando la "f" finale:
    codice:
    prezzo_finale += 3.4f;

  5. #5
    Perfetto così funziona il programma!
    ma cosa fa quella F? e come faccio a chiudere questa discussione?

  6. #6
    Originariamente inviato da 1MM1
    Perfetto così funziona il programma!
    ma cosa fa quella F?
    Per la rappresentazione dei dati in virgola mobile java utilizza float e double.

    Il default è double. Ciò implica che se vogliamo assegnare un valore a virgola mobile ad un float, non possiamo fare a meno di un cast. Per esempio, la seguente riga di codice provocherebbe un errore in compilazione:

    float f = 3.14;

    Java ci viene incontro permettendoci il cast con la sintassi breve:

    float f = 3.14F;
    Al mio segnale... scatenate l'inferno!

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da 1MM1
    e come faccio a chiudere questa discussione?
    La chiusura delle discussioni spetta solo ai moderatori... e viene effettuata solo quando una discussione non è idonea per il forum.

    Questa discussione è perfettamente idonea.


    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

  8. #8
    Grazie per le risposte. Ora il mio programma funziona.

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.