Глава 4
Задача 4.9 "Разбиение файлов."
Предположим, что у нас есть файл с численными данными, часть которых - отрицательные, а часть - положительные. Нужно сначала создать два файла для раздельного хранения положительных и отрицательных чисел, а затем вывести оба файла, причем файл с положительными значениями должен быть выведен первым. Используйте подходящий генератор случайных чисел, чтобы создать файлы, общее количество чисел в которых должно быть равно 100.
Решение 1
Сначала напишем программу, которая создает исходный текстовый файл, в который будет выведено 100 случайных целых чисел (примерно половина из них будет отрицательными).
Для решения этой задачи воспользуемся двумя вспомогательными функциями. Функцией, которая генерирует случайное число в диапазоне от А до В и функцией "Игральная кость", которая генерирует случайное целое число в диапазоне от 1 до 6. .
int random_01 (int min, int max ){
Следующай программа выводит в файл 100 случайных целых чисел, примерно половина из них со знаком -, (то есть половина отрицательные числа).
Код программы:
import java.io.*;
import javagently.*;
class FileBreaker {
FileBreaker() throws IOException {
Stream fout= new Stream ("data.out",Stream.WRITE);
int val = 0;
for(int j = 0;j < 10; j++) {
for (int i = 0;i < 10; i++) {
val = (random_01(1,500));
if(0 == random_01(1,6)%2)
fout.print("-" + val);
else
fout.print(val);
fout.print(" " );
}
fout.print("\n" );
}
fout.close();
}
public static void main (String[] args) throws IOException {
new FileBreaker();
}
int random_01 (int min, int max ){
int z =0;
while(z < min ){
z = (int) (Math.random()* max);
}
return z;
}
}
Результат :
-201 431 -197 416 426 448 462 -44 112 -64
126 343 273 337 50 346 158 390 173 -150
-219 154 5 210 10 -421 5 -307 405 21
455 104 -266 127 251 449 443 402 55 -22
-165 453 199 -300 313 -55 -419 61 -63 464
-294 242 148 -405 346 347 -475 124 88 35
423 -200 95 -96 462 132 -444 -412 -114 123
125 174 30 -45 -376 -404 72 -100 247 259
-227 38 257 -313 192 343 275 308 478 44
5 -301 -417 -8 465 44 393 -107 327 186
Назад |
Начало урока |
Вверх |
Вперед
Содержание