【发布时间】:2015-02-06 20:57:18
【问题描述】:
这是我长期以来一直困扰的问题,如果我最终能得到答案,那就太好了。我在学校的老师似乎总是想出一个解决这个问题的方法,但我需要知道如何解决它。
/**
* 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 } ,a 的范围将在那个 { } 内,在你的问题中声明 int a ouside 就像 int a=0; for(某些条件){};
标签: java arrays for-loop scope