u013409924
德prince
采纳率100%
2016-03-11 06:02

java程序报错,求大神找bug

已采纳

package arraysofobjects;
import java.util.Scanner;
public class arraysofobjects {

public static void main(String[] args)
{
    Scanner input=new Scanner(System.in);
    students[] stu=new students[4];
    String name;
    int grade;

    for(int i=0;i<stu.length;i++)
    {
        name=input.nextLine();
        grade=input.nextInt();
        stu[i]=new students(name,grade);
    }

    for(int i=0;i<stu.length;i++)
    {
        System.out.printf("name:%s\tgrades:%d\n",stu[i].name(),stu[i].grades());
    }
}

}

package arraysofobjects;

public class students {
private String _name;
private int _grades;

public students(String name,int grades)
{
this._name=name;
this._grades=grades;
}

public String name()
{
return this._name;
}
public int grades()
{
return this._grades;
}
}

输入两行就开始报错了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • qianxia226 鱼小怪 5年前

    name=input.nextLine(); 改为 name=input.next();

    点赞 评论 复制链接分享
  • qq553095968 qq553095968 5年前

    你这个输出就是c的输出,java 中不用这么麻烦吧

    点赞 评论 复制链接分享
  • qq_34253284 qq_34253284 5年前

    输入字符串是掉Scanner的next()

    点赞 评论 复制链接分享
  • weixin_33998886 Loser?? 5年前

    JAVA中对输出到屏幕的语法做了优化
    比如,我要输出一个值,我可以写成
    int i;
    i = 10;
    System.out.println("i的值为" + i);
    不再使用%d,可以直接将变量写在双引号外面

    点赞 评论 复制链接分享
  • wen_wxpk 找工作那些事 5年前

    把报文贴出来,一下就懂了

    点赞 评论 复制链接分享
  • wojiushiwo945you 毕小宝 5年前

    把第一行赋值name=nextLine修改成nextString

    点赞 评论 复制链接分享

为你推荐