2 sinat 31621401 sinat_31621401 于 2016.03.24 17:30 提问

java构造方法的简单问题

大神们小弟编译这段代码时总是报错,不知道为啥,特此来请教一下。
public class Student{
String name;
Float score;
public void setName(String _name) {
name=_name;
}
public String getName(){
return name;
}
public void setScore(Float _score) {
score=_score;
}
public float getScore(){
return score;
}
Student(){
stu1.setName();
stu1.setScore();
}
Student(String _name,Float _score) {
name=_name;
score=_score;
}
public void introduce(){
System.out.println("我的名字是"+name+",我的成绩为"+score+"!");
}
}

public class Examp01{
public static void main(String[] args) {
Student stu1=new Student();
stu1.setName("Tom");
stu1.setScore("95.5");
stu1.introduce();
Student stu2=new Student("john",100.0);
stu2.introduce();
}

}
图片说明

8个回答

Royal_lr
Royal_lr   Ds   Rxr 2016.03.24 17:57
已采纳

下划线是几个意思,,,

sinat_31621401
sinat_31621401 和属性区分一下
一年多之前 回复
Chillier
Chillier   2016.03.24 17:37

# 1.你这个String_name 是连在一起写了吗,肯定得分开啊,如:String _name ,String是参数类型,_name是形式参数名、
# 2.有很多地方写的是string ,应该是String。

3.Student(){

student.setName;
student.setScore;
}
这一段,student这个对象根本是不存在的吧,setName和setScore方法都是对象方法,对象没有实例化更不能调用这两个方法。

sinat_31621401
sinat_31621401 大神帮人帮到底!我刚刚改了之后还是报错和以前的都不一样了,在帮我看一下被!
一年多之前 回复
Chillier
Chillier 回复yaodexi93: 应该是stu1.setName();吧,需要一个括号
一年多之前 回复
sinat_31621401
sinat_31621401 我改成stu1.setName和stu1.setScore只报错他们两个不是语句该怎么办呢?我想让stu1使用无参的构造方法然后调用方法给姓名和成绩赋值!
一年多之前 回复
sinat_31621401
sinat_31621401 student.setName; student.setScore;我已经改成stu1.setName和stu1.setScore了,
一年多之前 回复
sinat_31621401
sinat_31621401 student.setName; student.setScore;
一年多之前 回复
sinat_31621401
sinat_31621401 student.setName; student.setScore;
一年多之前 回复
bestlove12345
bestlove12345   2016.03.24 17:41

package student;

public class Student {
private String name;
private float score;
public Student() {
}

public Student(String name, float score) {
    this.name = name;
    this.score = score;
}


public String getName() {
    return name;
}


public void setName(String name) {
    this.name = name;
}


public float getScore() {
    return score;
}


public void setScore(float score) {
    this.score = score;
}


public static void main(String[] args) {

     Student stu1=new Student();
     stu1.setName("Tom");
     stu1.setScore(95);
     Student stu2=new Student("john",100);
     System.out.println("我的名字是"+stu1.getName()+",我的成绩为"+stu1.getScore()+"!");

}

}

love_register
love_register   2016.03.24 17:40

定义函数的参数的时候,你在类型和参数名之间少了个空格,然后他们就搞在一起了,算是一个东西了,,比如,你应该在(String_name),的String 和 _name
之间加个空格,然后再试试看

AinUser
AinUser   2016.03.24 21:29

1)你的命名方式:可以用一些比较人性化的命名:比如:set_name等,这样String_name,可能出错.
2)你的stu1和stu2,只是在main主方法里面写了,并不是全部变量,不可以在student里面调用
3)“Information” 这个属于String,并不是Float
4)如果可以定义变量属性为:Float,后面根本不用转化类型

yyqkn2015
yyqkn2015   2016.03.25 17:52

难道是同一批软件园培训的????????????????

qq_29829081
qq_29829081   2016.03.26 13:12

你的setScore(float _score)方法中,但是stu1.setScore("95.9")时,传的值又是字符串。

CSDNXIAOD
CSDNXIAOD   2016.03.30 11:22

构造方法(java)--关于学生信息的问题
java中的构造方法
java 构造方法
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!