Java int变量输出未出现在另一个包中

Java int变量输出未出现在另一个包中,java,import,package,integer,println,Java,Import,Package,Integer,Println,您好,我是一名学习java的大一新生,目前我遇到了一些关于包和包导入的问题,其中来自另一个包的int变量没有显示在我导入它的包中 这是我要导入到另一个包的int包: package StudentPackage; import java.text.*; public class Acadinfo { DecimalFormat df = new DecimalFormat("##.00"); int Studentn1, Studentn2; int

您好,我是一名学习java的大一新生,目前我遇到了一些关于包和包导入的问题,其中来自另一个包的int变量没有显示在我导入它的包中

这是我要导入到另一个包的int包:

package StudentPackage;
import java.text.*;
public class Acadinfo {  
    
DecimalFormat df = new DecimalFormat("##.00");    
 int Studentn1, Studentn2;
 int q11, q12, q21, q22;
 int mt1, mt2;
 int f1, f2;
 int average, average2;

final void Acadinfo()
{
Studentn1 = 2468; Studentn2 = 13579;
q11 = 90; q12 = 90;
q21 = 80; q22 = 80;
mt1 = 100; mt2 = 85;
f1 = 95; f2 = 90;

int addaverage1 = q11 + q12 + mt1 + f1;
average = addaverage1 / 4;

int addaverage2 = q21 + q22 + mt2 + f2;
average2 = addaverage2 / 4;
}
public final void displayEducDetails1()
{    
System.out.println("STUDENT EDUCATIONAL DETAILS");
System.out.println("Student Number: " + Studentn1);
System.out.println("Student Grade Average: " + df.format(average));
System.out.println("Student Attendance: 100%");
}

public final void displayEducDetails2()
{    
System.out.println("STUDENT EDUCATIONAL DETAILS");
System.out.println("Student Number: " + Studentn2);
System.out.println("Student Grade Average: " + df.format(average2));
System.out.println("Student Attendance: 100%");
}

}
以下是我希望显示int的主包:

package MainPackage;
import StudentPackage.*;
public class MainProgram {
    public static void main(String[] args) {
    Acadinfo ai = new Acadinfo();
    
    ai.displayEducDetails1();
    System.out.println();
    ai.displayEducDetails2();
    }
    
}
但输出结果如下所示:

STUDENT EDUCATIONAL DETAILS
Student Number: 0
Student Grade Average: .00
Student Attendance: 100%

STUDENT EDUCATIONAL DETAILS
Student Number: 0
Student Grade Average: .00
Student Attendance: 100%
我想知道我哪里出错了,我在这里犯了哪些错误。谢谢大家!

您已将构造函数定义为
final void Acadinfo(){}
,它在
main程序中不可见
make it
public Acadinfo()
。您不能将返回类型分配给构造函数,因为这会使编译器认为它是一个新方法,而不是构造函数

问题:

final void Acadinfo()
{
Studentn1 = 2468; Studentn2 = 13579;
q11 = 90; q12 = 90;
q21 = 80; q22 = 80;
mt1 = 100; mt2 = 85;
f1 = 95; f2 = 90;

int addaverage1 = q11 + q12 + mt1 + f1;
average = addaverage1 / 4;

int addaverage2 = q21 + q22 + mt2 + f2;
average2 = addaverage2 / 4;
}
解决方案:

public Acadinfo()
{
Studentn1 = 2468; Studentn2 = 13579;
q11 = 90; q12 = 90;
q21 = 80; q22 = 80;
mt1 = 100; mt2 = 85;
f1 = 95; f2 = 90;

int addaverage1 = q11 + q12 + mt1 + f1;
average = addaverage1 / 4;

int addaverage2 = q21 + q22 + mt2 + f2;
average2 = addaverage2 / 4;
}