Вот решение на Java, которое читает в именах студентов и их оценки по трем предметам с клавиатуры, вычисляет средний балл для каждого студента, и выводит имена и средние оценки только студенток в текстовый файл:
import
java.io .*;
import java.util.Scanner;
public class AverageScore {
public static void main(String[] args) throws IOException {
// Create a Scanner object to read input from the keyboard
Scanner scanner = new Scanner(
System.in );
// Create a FileWriter object to write to the text file
FileWriter fileWriter = new FileWriter("average_scores.txt");
// Read in the names and scores of the students
System.out.println("Enter the name and scores of each student, followed by a blank line:");
String name;
while ((name = scanner.nextLine()).length() > 0) {
double score1 = scanner.nextDouble();
double score2 = scanner.nextDouble();
double score3 = scanner.nextDouble();
char gender =
scanner.next ().charAt(0);
scanner.nextLine(); // consume the rest of the line
// Calculate the average score
double average = (score1 + score2 + score3) / 3;
// If the student is female, write their name and average score to the text file
if (gender == 'F') {
fileWriter.write(name + " " + average + "\n");
}
}
// Close the FileWriter
fileWriter.close();
// Close the Scanner
scanner.close();
}
}
Это решение предполагает, что формат ввода является следующим:
Имя каждого студента записывается в отдельную строку, за которой следуют оценки по трем предметам, а затем их пол (F для женщин, M для мужчин).
Ввод для каждого студента завершается пустой строкой.
Например, следующий ввод:
Alice 85 90 95 F
Bob 70 80 90 M
Charlie 95 95 100 M
в результате в текстовый файл "average_score.txt" будет записываться следующее:
Alice 90.0