黑马程序员技术交流社区
标题:
输入学生成绩时,出现类型转换异常
[打印本页]
作者:
Maple_枫
时间:
2014-4-7 19:53
标题:
输入学生成绩时,出现类型转换异常
public class Student {
//所需变量
private int on;
private String name;
private int age;
private float java;
private float c_shar;
private float html;
private float sql;
private float sum;
private float avg;
public void setOn(int on)
{
this.on=on;
}
public int getOn()
{
return on;
}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public void setAge(int age)
{
this.age=age;
}
public int getAge()
{
return age;
}
public void setJava(float java)
{
this.java=java;
}
public float getJava()
{
return java;
}
public void setC_shar(float c_shar)
{
this.c_shar=c_shar;
}
public float getC_shar()
{
return c_shar;
}
public void setHtml(float html)
{
this.html=html;
}
public float getHtml()
{
return html;
}
public void setSql(float sql)
{
this.sql=sql;
}
public float getSql()
{
return sql;
}
public void setSum()
{
this.sum=java+c_shar+html+sql;
}
public float getSum()
{
return sum;
}
public void setAvg()
{
this.avg=sum/4;
}
public float getAvg()
{
return avg;
}
public String toString()
{
String st="\t"+this.on+"\t"+this.name+"\t"+this.age+"\t"+this.java+
"\t"+this.c_shar+"\t"+this.html+"\t"+this.sql+"\t"+this.avg+"\t"+this.sum;
return st;
}
}
public void results(int on,Student[] arr)//输入学生成绩
{
for(int i=0;i<arr.length;i++)
{
if(Admin.judge(on, arr[i]))
{
System.out.println("请输入"+arr[i].getName()+"的java成绩:");
arr[i].setJava(in.nextInt());
System.out.println("请输入"+arr[i].getName()+"的html成绩:");
arr[i].setHtml(in.nextInt());
System.out.println("请输入"+arr[i].getName()+"的c#成绩:");
arr[i].setC_shar(in.nextInt());
System.out.println("请输入"+arr[i].getName()+"的sql成绩:");
arr[i].setSql(in.nextInt());
Admin.print(arr);
return;
}
}
System.out.println("---没有此学上信息,操作失败---");
}
public static boolean judge(int on,Student stu)//判断学生是否存在
{
if(stu!=null)
{
if(stu.getOn()==on)
return true;
else
return false;
}
return false;
}
复制代码
作者:
Engle
时间:
2014-4-7 20:31
建议你在贴代码的时候把代码贴完整,或者整理一下可以直接运行再贴,这样可以让别人好帮你调试:P
我粗看了一下,你的成员变量是这么定义的:
private float java;
private float c_shar;
private float html;
private float sql;
private float sum;
private float avg;
而你键盘录入的时候:
System.out.println("请输入"+arr
.getName()+"的java成绩:");
arr
.setJava(in.nextInt());
System.out.println("请输入"+arr
.getName()+"的html成绩:");
arr
.setHtml(in.nextInt());
System.out.println("请输入"+arr
.getName()+"的c#成绩:");
arr
.setC_shar(in.nextInt());
System.out.println("请输入"+arr
.getName()+"的sql成绩:");
arr
.setSql(in.nextInt());
类型明细不匹配啊:L你把代码改成nextFloat()应该就行了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2