gpt4 book ai didi

java - java中for循环的作用域规则

转载 作者:行者123 更新时间:2023-12-02 05:10:39 25 4
gpt4 key购买 nike

这是一个困扰我很长时间的问题,如果我最终能得到答案就好了。我在学校的老师似乎总是围绕这个问题提出一个巧妙的解决方案,但我需要知道如何解决它。

/**
* 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);

关于java - java中for循环的作用域规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27370947/

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