Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с задачей на java

тимур шаймурзин Профи (594), на голосовании 1 год назад
В текстовом документе содержатся фио студентов нужно ввести с клавиатуры оценки по 3 предметам и вывести в текстовый файл средний бал только девушек.
Голосование за лучший ответ
Олег Папиросик Мастер (1441) 1 год назад
Вот решение на 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
Похожие вопросы