Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Použitie „Scanner“ (pre vstup konzoly):
Toto je najbežnejšia metóda na získanie vstupu používateľa z konzoly.
`` `Java
import java.util.scanner;
verejná trieda Doubleinput {
public static void main (String [] args) {
Scanner Scanner =nový Scanner (System.in);
System.out.print („Zadajte dvojitú hodnotu:“);
// Na čítanie dvojitého použite NextDouble ()
Double DoubleValue =Scanner.NextDouble ();
System.out.println ("Zadali ste:" + doubleValue);
Scanner.Close (); // Dôležité:Po dokončení zatvorte skener
}
}
`` `
Dôležité úvahy s `Scanner`:
* Manipulácia s chybami: `NextDouble ()` Hodí `InputMisMatchException` Ak používateľ zadá niečo, čo nie je platné dvojité (napr. Text). Túto výnimku by ste mali zvládnuť pomocou bloku `Try-Catch`, aby ste zabránili zlyhaniu vášho programu:
`` `Java
import java.util.inputMisMatchException;
import java.util.scanner;
verejná trieda DoubleinputWithExceptionHandling {
public static void main (String [] args) {
Scanner Scanner =nový Scanner (System.in);
System.out.print („Zadajte dvojitú hodnotu:“);
dvojitá dvojitá hodnota;
skús {
DoubleValue =Scanner.NextDouble ();
} catch (InputMisMatchException e) {
System.out.println ("Neplatný vstup. Zadajte platný dvojitý.");
Scanner.next (); // konzumujte neplatný vstup
návrat; // alebo zvládnuť chybu iným spôsobom
}
System.out.println ("Zadali ste:" + doubleValue);
Scanner.Close ();
}
}
`` `
* `Scanner.next ()`: „Scanner.Next ()` Volanie do bloku `Catch` je rozhodujúci. Ak dôjde k „InputMisMatchException“, neplatný vstup zostáva v vyrovnávacej pamäti „Scanner“. `Scanner.next ()` spotrebuje tento neplatný vstup, čo umožňuje programu znova vyzvať používateľa bez uviaznutia v nekonečnej slučke.
2. Pomocou `BufferedReader` (pre vstup konzoly alebo súboru):
„BufferedReader“ je efektívnejší pre veľké vstupy, ale vyžaduje viac manuálneho analýzy.
`` `Java
import java.io.bufferedReader;
import java.io.ioException;
import java.io.inputstreamReader;
verejná trieda DoubleinputBuffeRedReader {
public static void main (String [] args) {
BufferedReader Reader =nový BufferedReader (nový InputStreamReader (System.in));
System.out.print („Zadajte dvojitú hodnotu:“);
skús {
String Input =reader.ReadLine ();
Double DoubleValue =Double.ParSedouble (vstup);
System.out.println ("Zadali ste:" + doubleValue);
} catch (ioException e) {
System.out.println („Vstup na čítanie chýb:“ + e.getMessage ());
} catch (numberFormatexception e) {
System.out.println ("Neplatný vstup. Zadajte platný dvojitý.");
}
}
}
`` `
Táto metóda používa „Double.ParSedouble ()` na konverziu vstupu reťazca na dvojité. Zahŕňa tiež spracovanie chýb pre `ioException` (chyba vstupu/výstupu) a` numberFormatexception` (formát neplatného čísla).
3. Argumenty príkazového riadku:
Pri spustení vášho programu Java môžete prejsť dvojitou hodnotou ako argument príkazového riadku.
`` `Java
verejná trieda DoubleinputCommandline {
public static void main (String [] args) {
if (args.length> 0) {
skús {
Double DoubleValue =Double.ParSedouble (args [0]);
System.out.println ("Zadali ste:" + doubleValue);
} catch (numberFormatexception e) {
System.out.println ("Neplatný vstup. Uveďte platný dvojitý ako argument príkazového riadku.");
}
} else {
System.out.println ("Uveďte dvojitú hodnotu ako argument príkazového riadku.");
}
}
}
`` `
Nezabudnite zostaviť a spustiť to z vášho terminálu, ako je tento:`Java DoubleInputCommandline 3.14159`
Vyberte metódu, ktorá najlepšie vyhovuje vašim potrebám, a nezabudnite vždy zahrnúť robustné spracovanie chýb, aby bol váš program odolnejší. Prístup „Scanner“ je vo všeobecnosti uprednostňovaný pre jeho jednoduchosť a vstavané schopnosti spracovania chýb pri prijímaní vstupu z konzoly. „BufferedReader“ ponúka lepší výkon pre veľké súbory. Argumenty príkazového riadku sú užitočné na poskytovanie vstupov pri spustení programu z terminálu.