Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Java Programming >> Content
Hoe neem je dubbele waarde-invoer in Java-programmering?
Er zijn verschillende manieren om dubbele waarden in te voeren bij het programmeren in Java, afhankelijk van of u vanaf de console of vanuit een bestand leest.

1. `Scanner` gebruiken (voor console-invoer):

Dit is de meest gebruikelijke methode om gebruikersinvoer van de console te verkrijgen.

```java

java.util.Scanner importeren;

openbare klasse DoubleInput {

public static void main(String[] args) {

Scannerscanner =nieuwe scanner (System.in);

System.out.print("Voer een dubbele waarde in:");

// Gebruik nextDouble() om een ​​double te lezen

dubbel doubleValue =scanner.nextDouble();

System.out.println("Je hebt ingevoerd:" + doubleValue);

scanner.close(); // Belangrijk:Sluit de scanner als u klaar bent

}

}

```

Belangrijke overwegingen bij `Scanner`:

* Foutafhandeling: `nextDouble()` genereert een `InputMismatchException` als de gebruiker iets invoert dat geen geldige double is (bijvoorbeeld tekst). U moet deze uitzondering afhandelen met een `try-catch`-blok om te voorkomen dat uw programma crasht:

```java

java.util.InputMismatchException importeren;

java.util.Scanner importeren;

openbare klasse DoubleInputWithExceptionHandling {

public static void main(String[] args) {

Scannerscanner =nieuwe scanner (System.in);

System.out.print("Voer een dubbele waarde in:");

dubbele dubbeleWaarde;

poging {

doubleValue =scanner.nextDouble();

} catch (InputMismatchException e) {

System.out.println("Ongeldige invoer. Voer een geldig dubbel in.");

scanner.volgende(); // Verbruik de ongeldige invoer

opbrengst; //of behandel de fout op een andere manier

}

System.out.println("Je hebt ingevoerd:" + doubleValue);

scanner.close();

}

}

```

* `scanner.next()`: De aanroep `scanner.next()` binnen het `catch`-blok is cruciaal. Als er een `InputMismatchException` optreedt, blijft de ongeldige invoer in de buffer van de `Scanner`. `scanner.next()` verbruikt deze ongeldige invoer, waardoor het programma de gebruiker opnieuw kan vragen zonder vast te lopen in een oneindige lus.

2. `BufferedReader` gebruiken (voor console- of bestandsinvoer):

`BufferedReader` is efficiënter voor grote invoer, maar vereist meer handmatige parsering.

```java

java.io.BufferedReader importeren;

java.io.IOException importeren;

java.io.InputStreamReader importeren;

openbare klasse DoubleInputBufferedReader {

public static void main(String[] args) {

BufferedReader-lezer =nieuwe BufferedReader (nieuwe InputStreamReader (System.in));

System.out.print("Voer een dubbele waarde in:");

poging {

Tekenreeksinvoer =reader.readLine();

double doubleValue =Double.parseDouble(invoer);

System.out.println("Je hebt ingevoerd:" + doubleValue);

} catch (IOException e) {

System.out.println("Fout bij lezen invoer:" + e.getMessage());

} catch (NumberFormatException e) {

System.out.println("Ongeldige invoer. Voer een geldig dubbel in.");

}

}

}

```

Deze methode gebruikt `Double.parseDouble()` om de tekenreeksinvoer naar een dubbel te converteren. Het omvat ook foutafhandeling voor zowel `IOException` (invoer-/uitvoerfout) als `NumberFormatException` (ongeldig getalformaat).

3. Opdrachtregelargumenten:

U kunt een dubbele waarde doorgeven als opdrachtregelargument wanneer u uw Java-programma uitvoert.

```java

openbare klasse DoubleInputCommandLine {

public static void main(String[] args) {

als (args.lengte> 0) {

poging {

double doubleValue =Double.parseDouble(args[0]);

System.out.println("Je hebt ingevoerd:" + doubleValue);

} catch (NumberFormatException e) {

System.out.println("Ongeldige invoer. Geef een geldige double op als opdrachtregelargument.");

}

} anders {

System.out.println("Geef een dubbele waarde op als opdrachtregelargument.");

}

}

}

```

Vergeet niet om dit als volgt vanaf uw terminal te compileren en uit te voeren:`java DoubleInputCommandLine 3.14159`

Kies de methode die het beste bij uw behoeften past en vergeet niet om altijd een robuuste foutafhandeling op te nemen om uw programma veerkrachtiger te maken. De 'Scanner'-benadering heeft over het algemeen de voorkeur vanwege de eenvoud en de ingebouwde mogelijkheden voor foutafhandeling bij het ontvangen van invoer van de console. `BufferedReader` biedt betere prestaties voor grote bestanden. Opdrachtregelargumenten zijn handig voor het leveren van invoer bij het uitvoeren van het programma vanaf de terminal.

Previous: Next:
  Java Programming
·Hoe maak je een Doc -bestand l…
·Hoe maak je een WP Theme uploa…
·Hoe maak je een boom maken uit…
·Hoe te Strings gebruiken aan g…
·Hoe Set Up Struts 
·Hoe je alle JAR Gebruikt in ee…
·Hoe een matrix maken en vullen…
·Java Chat Server Tutorial 
·Hoe je Java inschakelen op een…
  Related Articles
Waarom gebruiken we functies bij het pro…
Welke rol speelt een tolk bij het progra…
Wat is de rol van een compiler bij compu…
Wat is het doel van een voorwaardelijke …
Wat is de hiërarchie van programmeertal…
Wat is de analoge definitie in de inform…
Wat is redex en hoe verhoudt dit zich to…
Wat is assembleertaal en hoe wordt het g…
Wat is assemblagecode en hoe wordt deze …
  Programmering Articles
·Hoe om te leren PASCAL 
·Hoe maak je een weergave maken in Vb.NET…
·Wat betekent het om een ​​computerprogra…
·Hoe te QCP Play 
·Waarom zijn er verschillen tussen Div Ta…
·Hoe maak je Debug Zonder een debugger 
·Hoe kan ik een SDL Project in Code Block…
·Hoe kan ik PHP & MySQL Applications Host…
·Hoe te Waarden Vermenigvuldig in VB 
Copyright © Computer Kennis https://www.nldit.com