这个流输入有什么问题?

来源:百度知道 编辑:UC知道 时间:2024/06/03 15:26:35
import java.util.*;
class student{
String name;
String num;
float score;}
public class ST {
static float s=0;
static Scanner sc=new Scanner(System.in);
public static void main(String[] args) {
student[] a=new student[10];
System.out.println("请输入10个学生的学号、姓名和成绩:");
for(int i=0;i<10;i++)
{
a[i].num=sc.next( );
a[i].name=sc.next( );
a[i].score=sc.nextFloat( );
}
for(int i=0;i<10;i++)
s+=a[i].score;
s=s/10;
System.out.println("10个同学的信息是:");
for(student x:a)
System.out.print(x.num+" "+x.score+" "+x.score+" ");
System.out.print("平均分是:"+s);
}
}
它提示出错的地方时for循环的三个输入的地方。请大家帮忙一下。

你的错误跟流输入没关系
student[] a=new student[10];
只分配空间没赋值
所以
a[i].num=sc.next();
这句话的时候a[i]是null
改成这样

{
student st=new student();
st.num=sc.next( );
st.name=sc.next( );
st.score=sc.nextFloat( );
a[i]=st;
}