如何在Java中修复此错误
我写了这段代码,代码正在运行,但我在结果中遇到了问题如何在Java中修复此错误,java,Java,我写了这段代码,代码正在运行,但我在结果中遇到了问题 package calcavrage; import java.util.ArrayList; import java.util.Scanner; public class InfoStudent { int avrage; int Grade = 0; String NameOfStudent; ArrayList<String> StudentNames = new ArrayList&
package calcavrage;
import java.util.ArrayList;
import java.util.Scanner;
public class InfoStudent {
int avrage;
int Grade = 0;
String NameOfStudent;
ArrayList<String> StudentNames = new ArrayList<>();
ArrayList<Integer> Grade1 = new ArrayList<>();
public void infoStudent()
{
Scanner s = new Scanner(System.in);
System.out.println("Enter Number Of Studens");
int NoOfStudents = s.nextInt();
for (int i = 0; i < NoOfStudents; i++)
{
System.out.println("Enter Name Of Student");
NameOfStudent= s.next();
StudentNames.add(NameOfStudent);
System.out.println(" Enter Student Grade");
Grade = Grade+ s.nextInt();
Grade1.add(Grade);
}
avrage = Grade / NoOfStudents;
System.out.println("The Avrage is = " + avrage);
System.out.println("The names of the student is " + StudentNames + " And His Grade " + Grade1);
}
}
我想要的结果如下:
Enter Number Of Studens
3
Enter Name Of Student
aa
Enter Student Grade
85
Enter Name Of Student
ww
Enter Student Grade
98
Enter Name Of Student
qq
Enter Student Grade
77
The Avrage is = 86
The names of the student is [aa, ww, qq] And His Grade [85, 98, 77]
如何获得此结果?您应该将单个学生的成绩添加到列表中,而不是部分总和:
for (int i = 0; i < NoOfStudents; i++)
{
System.out.println("Enter Name Of Student");
NameOfStudent= s.next();
StudentNames.add(NameOfStudent);
System.out.println(" Enter Student Grade");
int g = s.nextInt(); // read a single grade into a variable
Grade = Grade + g; // add it to the sum
Grade1.add(g); // add the single grade to the list
}
您可以这样做:
for (int i = 0; i < NoOfStudents; i++)
{
System.out.println("Enter Name Of Student");
NameOfStudent= s.next();
StudentNames.add(NameOfStudent);
System.out.println(" Enter Student Grade");
int stuGrade = s.nextInt()
Grade = Grade+stuGrade;
Grade1.add(stuGrade);
}
for(int i=0;i
这将为您提供所需的解决方案
import java.util.ArrayList;
import java.util.Scanner;
public class InfoStudent {
int avrage;
int Grade = 0;
int sum=0;
String NameOfStudent;
ArrayList<String> StudentNames = new ArrayList<String>();
ArrayList<Integer> Grade1 = new ArrayList<Integer>();
public void infoStudent()
{
Scanner s = new Scanner(System.in);
System.out.println("Enter Number Of Studens");
int NoOfStudents = s.nextInt();
for (int i = 0; i < NoOfStudents; i++)
{
System.out.println("Enter Name Of Student");
NameOfStudent= s.next();
StudentNames.add(NameOfStudent);
System.out.println(" Enter Student Grade");
Grade = s.nextInt();
sum=sum+Grade;
Grade1.add(Grade);
}
avrage = sum / NoOfStudents;
System.out.println("The Avrage is = " + avrage);
System.out.println("The names of the student is " + StudentNames + " And His Grade " + Grade1);
}
public static void main(String args[]){
InfoStudent is=new InfoStudent();
is.infoStudent();
}
}
非常感谢,但是如果我想要像{学生的名字和他的年级}结果的其他含义{学生的名字是WW和他的88年级}和其他学生一样的结果,我还有其他问题
for (int i = 0; i < NoOfStudents; i++)
{
System.out.println("Enter Name Of Student");
NameOfStudent= s.next();
StudentNames.add(NameOfStudent);
System.out.println(" Enter Student Grade");
int stuGrade = s.nextInt()
Grade = Grade+stuGrade;
Grade1.add(stuGrade);
}
import java.util.ArrayList;
import java.util.Scanner;
public class InfoStudent {
int avrage;
int Grade = 0;
int sum=0;
String NameOfStudent;
ArrayList<String> StudentNames = new ArrayList<String>();
ArrayList<Integer> Grade1 = new ArrayList<Integer>();
public void infoStudent()
{
Scanner s = new Scanner(System.in);
System.out.println("Enter Number Of Studens");
int NoOfStudents = s.nextInt();
for (int i = 0; i < NoOfStudents; i++)
{
System.out.println("Enter Name Of Student");
NameOfStudent= s.next();
StudentNames.add(NameOfStudent);
System.out.println(" Enter Student Grade");
Grade = s.nextInt();
sum=sum+Grade;
Grade1.add(Grade);
}
avrage = sum / NoOfStudents;
System.out.println("The Avrage is = " + avrage);
System.out.println("The names of the student is " + StudentNames + " And His Grade " + Grade1);
}
public static void main(String args[]){
InfoStudent is=new InfoStudent();
is.infoStudent();
}
}
Enter Number Of Studens
3
Enter Name Of Student
aa
Enter Student Grade
1
Enter Name Of Student
bb
Enter Student Grade
2
Enter Name Of Student
cc
Enter Student Grade
3
The Avrage is = 2
The names of the student is [aa, bb, cc] And His Grade [1, 2, 3]