java student gpa文件和数组

时间:2014-10-05 23:53:19

标签: java arrays file

有人可以帮我解释这些代码。

这是文件

57363 Joy  Ryder    D D C P H H C D

72992 Laura Norder  H H H D D H H H

71258 Eileen Over   C F C D C C C P

我正在尝试将ID存储在5位数的数组中,并将字符转换为数字并计算H=7D=6C=6,{{1}的平均gpa },P=4并将其存储在第二个数组中。然后将这两个arrary排序为最大值到最小值,并将这些值写入输出文本文件中。到目前为止,这是我的代码

F=0

我的输出是

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class StudentGPA_17396934Demo {

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

    Scanner kb = new Scanner(System.in);

    String fileName;
    char grade[] = new char[8];
    File myfile;
    int num = 0;

    do{
    System.out.println("Enter the name of the file: ");
    fileName = kb.next();

    myfile = new File(fileName);
    if (myfile.exists()) {
        Scanner infile = new Scanner(myfile);
        while (infile.hasNext()) {

            int ID = infile.nextInt();
            String name = infile.next();
            String surname = infile.next();

            // it is converting the characters to numbers but not reading all characters
            also how do I get average of this numbers and store in appropriate array 
            also how to store ID in array
            for (int i = 0; i < grade.length; i++) {
                grade[i] = infile.next().charAt(0);

            if (grade[i] == 'H')
            num = 7;
            else if (grade[i] == 'D')
            num = 6;
            else if (grade[i] == 'C')
            num = 5;
            else if (grade[i] == 'P')
            num = 4;
            else if (grade[i] == 'F')
            num = 0;
            }

            System.out.println(ID + "\t" +name + "\t" +surname + "\t" + num);


        }

    }
    else{

        System.out.println("file not found...");
    }
    }while(!myfile.exists());

}

}

1 个答案:

答案 0 :(得分:1)

让我们以蓝图为例,以便您可以关注和学习

如您所知,您需要array

让我们看看array中的Java是什么?

  

数组是一个容器对象,它包含固定数量的值   单一类型

     

<强> 1 即可。它有一个长度,这意味着你可以在它旁边保存一定数量的数据

     

<强> 2 即可。对象的类型必须相同

enter image description here

让我们看看如何在array

中定义Java
dataType[] arrayRefVar ;

例如:int[] arryInt;

用Java创建数组

arrayRefVar = new dataType[arraySize];

例如arrayInt = new int[5];

如何为数组的每个索引分配值

例如arrayInt[2] = 23;

如果您想使用for循环来填充数组,可以执行以下操作

 for(int i =0; i < arrayInt.length ; i++){
        arrayInt[i] = i ;
        System.out.print(" " + i);
 }

输出:0 1 2 3 4

注意:数组索引在Java中从零开始