有人可以帮我解释这些代码。
这是文件
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=7
,D=6
,C=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());
}
}
答案 0 :(得分:1)
让我们以蓝图为例,以便您可以关注和学习
如您所知,您需要array
让我们看看array
中的Java
是什么?
数组是一个容器对象,它包含固定数量的值 单一类型
<强> 1 即可。它有一个长度,这意味着你可以在它旁边保存一定数量的数据
<强> 2 即可。对象的类型必须相同
让我们看看如何在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中从零开始