import java.util.Scanner;
public class GradePointAverage
{
public static double processAverage(int []SubjectGrades,int SubjectsNumber)
{
double sum=0;
double Ave=0;
for(int i=0;i<SubjectGrades.length;i++)
{
sum=SubjectGrades[i]+sum;
}
Ave=sum/SubjectsNumber;
return Ave;
}
public static int processNumericalValue(double Ave)
{
int Numeral;
if(Ave>=98.0&&Ave<100.0)
{
Numeral=4;
}
else if(Ave>=90.0&&Ave<98.0)
{
Numeral=3;
}
else if(Ave>=80.0&&Ave<90.0)
{
Numeral=2;
}
else if(Ave>=75.0&&Ave<80.0)
{
Numeral=1;
}
else
{
Numeral=0;
}
return Numeral;
}
public static void main(String[] args)
{
double Ave=0;
Scanner peace=new Scanner(System.in);
System.out.print("How many subjects do you want to enter?: ");
int SubjectsNumber=peace.nextInt();
int []SubjectGrades=new int [SubjectsNumber];
String []Subjects=new String [SubjectsNumber];
for(int i=0;i<SubjectsNumber;i++)
{
Subjects[i]="";
System.out.print("Enter Subject No "+(i+1)+": ");
Subjects[i]=peace.next();
}
for(int i=0;i<Subjects.length;i++)
{
System.out.println("What is your grade in "+Subjects[i]+": ");
SubjectGrades[i]=peace.nextInt();
}
int Numeral;
double x=processAverage(SubjectGrades,SubjectsNumber);
System.out.println(x);
int y=processNumericalValue(Ave);
System.out.println(y);
}
}
晚上好!那麼這是我第二次問這裏。如果我記得去年3月10日我在陣列中發佈了一個麻煩。這次我想知道的是爲什麼我的函數沒有返回所需的答案。我認爲我的第二個功能不讀Ave,這就是爲什麼數字中的答案是0.即使Ave = 96或任何數字,它也不會改變。你能幫助我如何讓我的函數processNumericalValue在我的第一個函數processAverage中讀取Ave。希望能再次引導你們。 :)Java編程中的函數故障
這個怎麼樣:'大道= SUM/SubjectsNumber;' – 2015-03-13 15:54:03
這有什麼錯呢? – SMA 2015-03-13 15:59:12
你說他從不改變大街,但他確實如此。 – 2015-03-13 16:00:00