Глава 4
Задача 4.1 "Преобразования. "
Модифицируйте программы из примеров 3.5 и 3.11 таким образом, чтобы считать данные, значения которых находятся в определенных для таблиц пределах.
Решение 2
Поместим в текстовый файл данные, которые нам необходимо вывести на экран. В этом текстовом файле (см.рис) идет двадцать пар чисел. Первое число типа int - доллары, второе число типа double - соответствующие этим долларам - грацы. Наша программа откроет этот файл, считает из него данные и выведет на экран так, что получится таблица точно как в задаче 3.5. Имя файла, из которого следует считать данные, задано программно - data.txt.
Код программы "Таблица конвертирования доллара в грацы":
import java.io.*;
import javagently.*;
class Filer {
public static Stream open (String filename) throws IOException {
Stream in = new Stream (System.in);
for (int count = 0; count < 5; count ++) {
try {
return new Stream(filename, Stream.READ);
} catch (FileNotFoundException e) {
System.out.println(filename+" does not exist.");
if (count < 4) {
System.out.println("Try again");
}
filename = in.readString();
}
}
throw new FileNotFoundException ();
}
}
class TableIndex {
TableIndex() throws IOException {
Stream in = new Stream(System.in);
// default the file to the keyboard
Stream fin = new Stream(System.in);
try {
fin = Filer.open("data.txt");
}
catch (FileNotFoundException e) {
System.out.println("Five tries up");
System.out.println("Connecting to keyboard by default");
}
System.out.println("Conversion Table Dollare to Grazy");
System.out.println("============================");
System.out.println();
System.out.println("Dollare\tGrazy");
int dl;
double gr;
try {
for (;;) {
dl = fin.readInt();
gr = fin.readDouble();
System.out.println(dl+"\t\t"+ Stream.format((gr), 4, 2));
}
}
catch (EOFException e) {
System.out.println(" All data is reading ");
}
}
public static void main (String[] args) throws IOException {
new TableIndex ();
}
}
Результат :
Назад |
Начало урока |
Вверх |
Вперед
Содержание