Primi programmi java

di il
3 risposte

Primi programmi java

Salve sto iniziando a programmare , ho scelto java come linguaggio ed ho i primi intoppi:

import java.util.Scanner;

public class CalcoloSoda
{
public static void main(String[] args)
{

Scanner input = new Scanner(System.in);

System.out.print("inserire quantità olio: ");
double olio = input.nextDouble();
System.out.print("Inserire valore sap: ");
double sap = input.nextDouble();

double soda=olio*sap;

System.out.println("la soda è: " + soda);

}
}
mi fa compilare , all'esecuzione mi fa inserire i numeri
esempio 1000 e 0.134
ma poi mi dà questo errore
Immagine.png
Immagine.png

con le variabili int funziona alla fine è una semplice moltiplicazione

salve buonasera

3 Risposte

  • Re: Primi programmi java

    sabatinoilgatto ha scritto:


    mi fa compilare , all'esecuzione mi fa inserire i numeri
    esempio 1000 e 0.134
    Scanner interpreta i numeri float/double in maniera "localizzata", cioè seguendo le regole del java.util.Locale impostato in Scanner (che per default è quello predefinito dal runtime)

    Ovvero, se la tua macchina (il S.O., naturalmente) è localizzata in italiano, devi scrivere 1000,45
    Se fosse in inglese: 1000.45

    Se vuoi fissare il locale, basta farlo con il useLocale(Locale locale) di Scanner.
  • Re: Primi programmi java

    Bravissimo e grazie della delucidazione nel frattempo avevo fatto un altro programma simile aiutandomi con le classi grafiche e funziona. ho notato che se inserisco la " , " invece del "." nello scrivere i numeri mi dà giustamente errore. posto il codice:

    import javax.swing.*;

    class CalcoloSoda2 {
    public static void main(String[] args) {
    String stringaInput;
    double olio, sap, soda;

    stringaInput = JOptionPane.showInputDialog("Inserisci olio");
    olio = Double.parseDouble(stringaInput);

    stringaInput = JOptionPane.showInputDialog("Inserisci sap");
    sap = Double.parseDouble(stringaInput);
    soda=olio*sap;
    while(olio !=-1)
    {
    stringaInput = JOptionPane.showInputDialog("Inserisci olio");
    olio = Double.parseDouble(stringaInput);

    stringaInput = JOptionPane.showInputDialog("Inserisci sap");
    sap = Double.parseDouble(stringaInput);

    soda+=olio*sap;



    }
    JOptionPane.showMessageDialog(null, "L'indice sap è : " + soda);


    System.exit(0);
    }
    }


    qui invece tutto ok tranne che per uscire dal ciclo fa comunque questa istruzione anche se inserisco -1 al valore dell'olio:

    stringaInput = JOptionPane.showInputDialog("Inserisci sap");
    sap = Double.parseDouble(stringaInput);

    grazie comunque
  • Re: Primi programmi java

    sabatinoilgatto ha scritto:


    ho notato che se inserisco la " , " invece del "." nello scrivere i numeri mi dà giustamente errore.
    Sì, Double.parseDouble accetta solo ed esclusivamente la forma "inglese" (con il punto).
Devi accedere o registrarti per scrivere nel forum
3 risposte