Глава 4
Задача 4.8 "Средний возраст. "
В молодежный клуб ходят 24 ребенка, которые распределены по четырем звеньям. Возраст детей от 7 до 11 лет. Напишите программу, которая считывает возраст детей в каждом звене, определяет средний возраст для каждого звена группы из 24 детей, а так же для группы в целом.
Решение
Для решения задачи потребовалось совсем не много кода.
Для правильного чтения файла пришлось использовать преобразование строки в число:
String nameChild = fin.readLine();
int ageChild = (int) Double.valueOf(fin.readLine()).doubleValue();
Код программы:
import java.io.*;
import javagently.*;
class AverangeAge {
AverangeAge() 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();
System.out.println(" AverangeAge ");
System.out.println("============================");
// Child ch[] = new Child("David Backham",11);
int m = 6;
Child ch[] = new Child[m];
int test = 0; // ball of testing
long AverangeAgeGroup = 0;
long AverangeAgeTotal = 0;
int sumAgeChild = 0;
try {
for (int i=0;i<4;i++) {
String nameGroup = fin.readLine();
System.out.println(" ");
System.out.println("Groupe name - " + nameGroup);
sumAgeChild = 0;
for (int j=0;j<6;j++) {
String nameChild = fin.readLine();
int ageChild = (int) Double.valueOf(fin.readLine()).doubleValue();
sumAgeChild = sumAgeChild + ageChild;
ch[j] = new Child(nameChild,ageChild);
// Report
ch[j].write();
// System.out.println("Child name - " + ch[j].name + " Age - " + ch[j].age);
}
AverangeAgeGroup = Math.round(sumAgeChild/6);
AverangeAgeTotal = AverangeAgeTotal + AverangeAgeGroup;
System.out.println("AverangeAgeGroup - " + AverangeAgeGroup);
}
}
catch (EOFException e) {
System.out.println(" All data is reading ");
}
System.out.println("AverangeAgeTotal: " + Math.round(AverangeAgeTotal/4) );
}
public static void main (String[] args) throws IOException {
new AverangeAge();
}
}
class Child {
String name;
int age;
Child(String n, int a ){
name = n;
age = a;
}
void write () {
System.out.println(name + " " + age+ " age ");
}
}
Результат :
AverangeAge
Groupe name - Corn-flower
Groupe name - Daisy
Groupe name - Swallow
Groupe name - Sky-lark
============================
Poul McCartny 11 age
Jhon Lennon 9 age
Ringo Starkey 7 age
Gorge Harrison 10 age
Jhon Kennedy 9 age
Mike Jagger 8 age
AverangeAgeGroup - 9
Poul Brown 7 age
Richard Stock 8 age
Wiliam Shekspear 9 age
Ernest Hemingway 10 age
Lewis Carrol 11 age
Mark Twen 7 age
AverangeAgeGroup - 8
Edward Green 9 age
Wolfgang Mozart 10 age
Ludwig Beethoven 11 age
Ferenz List 7 age
Franz Bakkenbauer 7 age
Tomas Moor 9 age
AverangeAgeGroup - 8
David Backham 11 age
Peter Resenfeld 9 age
Gorge Washington 10 age
Peter O-Tool 8 age
James Bond 9 age
Judy Bishoop 11 age
AverangeAgeGroup - 9
AverangeAgeTotal: 8
Назад |
Начало урока |
Вверх |
Вперед
Содержание