0

我试图从这个文件中平均每个学生的成绩。我已经成功地在我的代码输出中列出了学生姓名和他们的成绩,但最后一步是输出平均成绩。这是代码:

import java.util.Scanner; 
import java.io.*;         

public class Grades_Data
{
public static void main(String[] args) throws IOException
{

  Scanner keyboard = new Scanner(System.in);

 String filename = "student_data.txt";


  File file = new File("student_data.txt");
  Scanner inputFile = new Scanner(file);


  while (inputFile.hasNext())
  {

     String firstName = inputFile.next();
     String lastName = inputFile.next();
     String gradeone = inputFile.next();
     String gradetwo = inputFile.next();
     String gradethree = inputFile.next(); 


     System.out.println("first name: " + firstName + "\tlast name: " + lastName + "\tgrade one: " + gradeone + 
     "\tgrade two: " + gradetwo + "\tgrade three: " + gradethree);
  }
  inputFile.close();
}
}

这是我的代码的输出:

first name: Willis  last name: McGee    grade one: 86   grade two: 91   grade three: 78
first name: Gladis  last name: Knight   grade one: 79   grade two: 93   grade three: 88
first name: John    last name: Wayne    grade one: 92   grade two: 89   grade three: 88
first name: Ginny   last name: Weasley  grade one: 68   grade two: 73   grade three: 89

我需要它在每行末尾用学生的平均成绩说“平均:”,使用他们的一年级、二年级和三年级的值(三个年级的总和除以 3)

4

3 回答 3

0
int average = ( Integer.parseInt(gradeone ) +  Integer.parseInt(gradetwo ) + Integer.parseInt(gradethree ) ) / 3;


  System.out.println("first name: " + firstName + "\tlast name: " + lastName + "\tgrade one: " + gradeone + 
     "\tgrade two: " + gradetwo + "\tgrade three: " + gradethree + "\taverage: " + average );

添加这个。您需要将您的字符串值解析为整数,并计算平均值

于 2013-11-06T23:27:30.860 回答
0

将字符串解析为 int(将它们加在一起除以三)

int average = (Integer.parseInt(gradeOne) + Integer.parseInt(gradeTwo) + Integer.parseInt(gradeThree))/3;

将输出添加到您的字符串:

System.out.println("first name: " + firstName + "\tlast name: " + lastName + "\tgrade one: " + gradeone + 
     "\tgrade two: " + gradetwo + "\tgrade three: " + gradethree  + "\taverage: " + average);
于 2013-11-06T23:28:02.573 回答
-1

试试这个 System.out.println("first name: " + firstName + "\tlast name: " + lastName + "\tgrade one: " + gradeone + "\tgrade two: " + gradetwo + "\tgrade three: " + Gradethree +"\tAverage: "+ (gradeone+gradetwo+gradethree)/3 );

于 2013-11-06T23:28:03.760 回答