Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> Programmazione >> Java Programming >> .

Come si fa a prendere input a doppio valore nella programmazione Java?

Esistono diversi modi per prendere input a doppio valore nella programmazione Java, a seconda che si legga dalla console o da un file.

1. Utilizzando `scanner` (per input console):

Questo è il metodo più comune per ottenere l'input dell'utente dalla console.

`` `Java

import java.util.scanner;

Classe pubblica DoubleInput {

public static void main (string [] args) {

Scanner scanner =new scanner (system.in);

System.out.print ("Immettere un doppio valore:");

// Usa NextDouble () per leggere un doppio

double doubleValue =scanner.nextDouble ();

System.out.println ("hai inserito:" + doubleValue);

scanner.close (); // Importante:chiudere lo scanner al termine

}

}

`` `

Considerazioni importanti con `scanner`:

* Gestione degli errori: `NextDouble ()` lancia un `inputMismatchException` se l'utente inserisce qualcosa che non è un doppio valido (ad esempio, testo). Dovresti gestire questa eccezione utilizzando un blocco `Try-Catch` per impedire il crash del programma:

`` `Java

import java.util.inputmismatchException;

import java.util.scanner;

Classe pubblica DoubleInputWithExceptionHandling {

public static void main (string [] args) {

Scanner scanner =new scanner (system.in);

System.out.print ("Immettere un doppio valore:");

doppio doppio valore;

Tentativo {

doubleValue =scanner.nextDouble ();

} catch (inputMismatchException e) {

System.out.println ("Input non valido. Immettere un doppio valido.");

scanner.next (); // Consuma l'input non valido

ritorno; // o gestire l'errore in un altro modo

}

System.out.println ("hai inserito:" + doubleValue);

scanner.close ();

}

}

`` `

* `scanner.next ()`: La chiamata `scanner.next ()` all'interno del blocco `catch` è cruciale. Se si verifica un `inputmismatchException`, l'input non valido rimane nel buffer di` scanner '. `scanner.next ()` consuma questo input non valido, consentendo al programma di spingere di nuovo l'utente senza rimanere bloccato in un ciclo infinito.

2. Utilizzando `BufferedReader` (per la console o l'input del file):

`BufferedReader` è più efficiente per gli input di grandi dimensioni ma richiede più analisi manuale.

`` `Java

import java.io.BufferedReader;

import java.io.ioexception;

import java.io.inputstreamReader;

Classe pubblica DoubleInputBufferedReader {

public static void main (string [] args) {

BufferedReader Reader =new BufferedReader (new InputStreamReader (System.in));

System.out.print ("Immettere un doppio valore:");

Tentativo {

String input =reader.readline ();

Double DoubleValue =Double.ParseDouble (input);

System.out.println ("hai inserito:" + doubleValue);

} catch (ioException e) {

System.out.println ("Input di lettura degli errori:" + e.getMessage ());

} catch (numeraFormatexception e) {

System.out.println ("Input non valido. Immettere un doppio valido.");

}

}

}

`` `

Questo metodo utilizza `double.parseDouble ()` per convertire l'ingresso della stringa in un doppio. Include anche la gestione degli errori sia per `IOException` (errore di input/output) che` numeraFormatexception` (formato numero non valido).

3. Argomenti di comando:

Puoi passare un doppio valore come argomento di comando quando si esegue il programma Java.

`` `Java

Classe pubblica DoubleInputCommandline {

public static void main (string [] args) {

if (args.length> 0) {

Tentativo {

Double DoubleValue =Double.ParseDouble (Args [0]);

System.out.println ("hai inserito:" + doubleValue);

} catch (numeraFormatexception e) {

System.out.println ("Input non valido. Fornire un doppio valido come argomento della riga di comando.");

}

} altro {

System.out.println ("Fornisci un doppio valore come argomento di comando.");

}

}

}

`` `

Ricorda di compilare ed eseguirlo dal tuo terminale in questo modo:`Java DoubleInputCommandline 3.14159`

Scegli il metodo che si adatta meglio alle tue esigenze e ricorda di includere sempre una robusta gestione degli errori per rendere il tuo programma più resiliente. L'approccio "scanner" è generalmente preferito per la sua semplicità e le capacità di gestione degli errori integrati quando si prendono input dalla console. `BufferedReader" offre prestazioni migliori per file di grandi dimensioni. Gli argomenti della linea di comando sono utili per fornire input quando si eseguono il programma dal terminale.

 

Programmazione © www.354353.com