Wprowadzanie danych
Napisy przeznaczone tylko do czytania
Java przechowuje w obiektach typu String. Aby móc modyfikować napis, trzeba
użyć obiektu typu StringBuffer. Oznacza to, że gdy obiekt klasy String
został raz utworzony, nie można go już zmieniać. Natomiast obiekt
klasy StringBuffer może być wielokrotnie modyfikowany. Do czytania z klawiatury
jest używany właśnie StringBuffer. Jedną z prostszych metod czytania z
klawiatury jest czytanie znak po znaku korzystając z metody appendChar(),
należącej do klasy StringBuffer i dodawanie ich do bufora. Aby uzyskać
obiekt typu String z bufora typu StringBuffer, należy zastosować metodę
toString().
while (( c = (char) System.in.read())
!= '\n')
strng.append(c);
Przykład:
class
waga
{
public void main ( String args[] )
{
char c;
double w;
StringBuffer strng = new StringBuffer();
System.out.println("Ile ważysz na Ziemi ?");
try
{
while (( c = (char) System.in.read()) != '\n')
strng.append(c);
w = Double.valueOf(strng.toString()).doubleValue();
}
catch (java.io.IOException e)
{
w = 0.0;
}
w *= .166;
System.out.println("Na księżycu twoja waga wynosi" + w);
}
}
Można też wykorzystać
obiekt klasy DataInputStream zdefiniowanej w pakiecie java.io. Obiekt ten
zwraca napis w postaci obiektu typu String., zwracający wiersz wpisany
przez użytkownika, ale bez kończącego go znaku końca wiersza.
DataInputStream stream = new DataInputStream ( System.in );
String strng;
double value;
strng = stream.readLine();
value = Double.valueof ( strng ).doubleValue(); // konwersja do double
Jeśli zdarzy
się coś nieoczekiwanego w trakcie wykonywania programu stream.readline
może zgłosić wyjątek, więc trzeba być przygotowanym do obsłużenia go:
try
{
strng = stream.readLine();
}
catch ( java.io.IOException e )
{
strng = 0.0;
}
Podobnie przy
wykonywaniu konwersji napisu do postaci liczby, trzeba być przygotowanym
do obsługi wyjątku oznaczającego, że były kłopoty z konwersją:
try
{
value = Double.valueof ( strng ).doubleValue();
}
catch ( java.lanag.NumberFormatException )
{
value = 0.0;
}
Wyszukiwarka
Podobne podstrony:
5 Wprowadzanie danych rastrowych i wektorowych 20124 Wprowadzenie danych rastrowych i wektorowychWprowadzenie do baz danychwprowadzenie do baz danychKomp przetw danych Wprowadzenie do MATLABa 1bazy danych maski wprowadzaniaZestaw 1 Wprowadzenie do relacyjnych baz danychbazy danych wprowadzenieBD Wykad 1 Wprowadzenie do baz danychKomp przetw danych Wprowadzenie do MATLABa 2Wprowadzenie do baz danychbazy danych formaty i maski wprowadzaniaWprowadzenie do systemów baz danychwięcej podobnych podstron