这是我很长时间以来一直遇到的问题,如果我最终能找到答案的话,那会很好。我在学校的讲师似乎总是为此提出一个解决方案,但是我需要知道如何解决它。
/**
* This program lets you enter your students names and grades
*
* @author (Austin)
* @version (1.0.0)
*/
import java.io.*;
import java.util.*;
public class Tester
{
public static void main (String args[])
{
Scanner kb = new Scanner(System.in);
System.out.println ("How many students do you have?");
int numOfStudents = kb.nextInt();
String studentName[] = new String [numOfStudents];
int studentGrade[] = new int[numOfStudents];
System.out.println ("Please enter student name, then hit enter. Then enter student grade.");
int x;
int y;
for (x = 0; x <= numOfStudents - 1; x++)
{
String name = kb.next();
studentName[x] = name;
for (y = 0; y <= 0; y++)
{
int grade = kb.nextInt();
studentGrade[y] = grade;
}
if (x != numOfStudents -1)
{
System.out.println ("");
System.out.println ("Next Student:");
System.out.println ("");
}
}
System.out.println ("What would you like to do?");
System.out.println ("1. Find class average\n2. Find student grade");
int user = kb.nextInt();
Grade_Methods g1 = new Grade_Methods();
int z;
if (user == 1)
{
for (z = 0; z <=numOfStudents - 1; z++)
{
int a =+ studentGrade[z];
}
g1.gradeAverage(a,numOfStudents);
}
}
}
问题在代码底部的if语句中。该程序旨在帮助我更好地理解数组,除了使用for循环外,我不知道如何从数组中提取数据。我的问题是,当我尝试将数组
studentGrade
中的所有值存储为int a
时,作为所有年级的总值时,下面的行(尝试将其调用为方法)无法识别int a
已声明。 最佳答案
您的int a
已在for循环的范围内声明。如果要在循环外访问变量,请使用以下命令:
int a = 0;
for (z = 0; z <=numOfStudents - 1; z++)
{
a += studentGrade[z];
}
g1.gradeAverage(a,numOfStudents);