public void Review() { // 复习
System.out.println("正在执行需要复习的学生程序");

Student a=new Student();
int[] ii=a.Grade();
System.out.println(ii[0]);

} public int[] Grade() { // 成绩
Student sStu = new Student();
System.out.println("正在执行学生成绩录入");
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生人数");
sStu.iPeoNum = scanner.nextInt();
System.out.println("请输入学生成绩");
int[] i = new int[sStu.iPeoNum];
for (int j = 0; j < sStu.iPeoNum; j++) {
i[j] = scanner.nextInt();
System.out.println(i[j]);
}
return i;
}上面做了2个方法,
本来想先执行“成绩”,然后再执行“复习”
为什么我调用复习还要做一遍“成绩的”?我只想要成绩的数值啊。

解决方案 »

  1.   

    主函数
    public class EduMain {
    public static void main(String[] args) {
    Student sStu1 = new Student();
    sStu1.Grade();// 建立成绩
    sStu1.Review(); }}
    执行的时候,需要输入2次成绩录入
      

  2.   

    因为你调用复习方法里有调用成绩的方法.就是这句int[] ii=a.Grade();所以会用到成绩方法.
      

  3.   

    我感觉也是这样的 你连续两次调用同一个方法Grade() int[] ii=a.Grade();就是这句的毛病