입니다.이 문제는 오랜 시간 동안 문제가 있었는데 마침내 이에 대한 대답을 얻을 수 있다면 좋을 것입니다. 학교의 강사가이 문제를 해결하기 위해 항상 공예품 해결책을 제시하는 것 같지만 해결 방법을 알아야합니다.for 루프의 범위에 대한 규칙은
/**
* 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
의 모든 값을 모든 성적의 총 가치로 a
에 저장하려고하면 메소드로 호출하려고하는 아래의 행이 해당 int를 인식하지 못한다는 것입니다. a
이 선언되었습니다. . 루프 종료 후 그 범위 내에서 유지
int a = 0;
for (z = 0; z <=numOfStudents - 1; z++)
{
a += studentGrade[z];
}
이 방법을, 그리고 당신은 그 값에 액세스 할 수 있습니다
{} 안에 선언 된 변수는 그 안에 범위가 있습니다. ex {int a}, 범위는 {} 안에 있습니다. 문제는 int a = 0과 같은 ouside를 선언합니다. for (some condition) {}; –