gpt4 book ai didi

java - 如何从方法中声明私有(private)静态最终int(java初学者)

转载 作者:行者123 更新时间:2023-11-30 06:54:47 25 4
gpt4 key购买 nike

首先要做的事情...我是 java 新手,最近才开始尝试多类和多方法代码。

因此,我必须编写一个程序来获取类(class)中学生的成绩(从外部文件中读取),然后计算每个学生的最终成绩。我目前正在编写一段代码来确定类(class)中有多少学生。这涉及计算外部文件中的行数。

这就是我到目前为止所拥有的......

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

public class Student
{
// instance variables
private int Quiz1;
private int Quiz2;
private int MidTerm;
private int Final;
private int FinalP;
private int LetterGrade;


public Student(int q1, int q2, int mt, int f)
{
Quiz1 = q1;
Quiz2 = q2;
MidTerm = mt;
Final = f;
}

public int getStudentNumber()
{
Scanner two = null;
try
{
// Create a scanner to read the file, file name is parameter
two = new Scanner (new File("Prog349f.txt"));
}
catch (FileNotFoundException e)
{
System.out.println ("File not found!");
// Stop program if no file found
System.exit (0);
}

int lines = 0;
while(two.hasNext())
{
lines++;
two.nextLine();
}
two.close();
return(lines);
}
}

我决定将行数/学生数保存为私有(private)静态最终int,(当前分类只是一个占位符)。我只是不太确定如何保存它。在所有示例中,私有(private)静态final 的声明如下:

 private static final double PI = 3.14; 

tldr;我非常确定这已经被讨论过很多次了,但是使用方法定义公共(public)静态最终的协议(protocol)是什么?

最佳答案

您误解了 static Final 的用途,它仅适用于可以在加载类时设置值的情况,并且此后永远不会更改。它对于声明常量(例如示例中的 PI)非常有用,您可以在程序运行之前知道它应该保存什么。

相反,对于您读入的每一行,创建一个学生并将其添加到列表中。每当您需要学生数量时,您都可以调用列表中的 size 方法。

如果您确实执着于将某些东西设为静态最终的想法,则可以通过这种方式声明 List。静态最终变量包含的引用永远不会改变,但您可以添加和修改其内容。

将文件读取代码作为实例方法塞入 Student 类似乎很困惑,您应该为它找到一个更好的地方。从文件中读取所有学生并不是属于单个学生的逻辑。 Java 不是面向类或面向方法的,它是面向对象的。将代码放入方法中,以便它们与您调用它们的实例相关。

关于java - 如何从方法中声明私有(private)静态最终int(java初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42058264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com