<1>一个学生的类student,包括成员变量“学号”,“姓名”,“性别”,“年龄”;
<2>用构造方法对个成员变量赋值;
<3>成员方法“获得学号”,“获得性别”,“获得姓名”,“获得年龄”(均返回其获得的相应值),“修改年龄”(对年龄加一岁,无返回值);
根据以上的要求编写相应的程序,定义类student及个部分,并编写java Application程序,创建类student的对象实例,并将其各变量的值输出值屏幕上。
我初学java,以前学过c++,可是不精通,现在这个程序有错误,我也不知道哪错了,希望高手指点啊
public class student {
public student (String num,String nam,char se,int ag){
number=num;
name=nam;
sex=se;
age=ag;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
student student1 = new student("20063690117","李明",'M',23);
void student1.show(){
System.out.println("-------------------");
System.out.println(getnum(),getnam(),getsex(),getage());
System.out.println("-------------------");
}
} public static String getnum(){
return student1.number;
}
public static String getnam(){
return student1.name;
}
public static char getsex(){
return student1.sex;
}
public static int getage(){
return student1.age;
}
private String number,name;
private char sex;
private int age;
}
<2>用构造方法对个成员变量赋值;
<3>成员方法“获得学号”,“获得性别”,“获得姓名”,“获得年龄”(均返回其获得的相应值),“修改年龄”(对年龄加一岁,无返回值);
根据以上的要求编写相应的程序,定义类student及个部分,并编写java Application程序,创建类student的对象实例,并将其各变量的值输出值屏幕上。
我初学java,以前学过c++,可是不精通,现在这个程序有错误,我也不知道哪错了,希望高手指点啊
public class student {
public student (String num,String nam,char se,int ag){
number=num;
name=nam;
sex=se;
age=ag;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
student student1 = new student("20063690117","李明",'M',23);
void student1.show(){
System.out.println("-------------------");
System.out.println(getnum(),getnam(),getsex(),getage());
System.out.println("-------------------");
}
} public static String getnum(){
return student1.number;
}
public static String getnam(){
return student1.name;
}
public static char getsex(){
return student1.sex;
}
public static int getage(){
return student1.age;
}
private String number,name;
private char sex;
private int age;
}
// TODO code application logic here
student student1 = new student("20063690117","sss",'M',23);
System.out.println("-------------------");
System.out.println(student1.getnum()+student1.getnam()+student1.getsex()+student1.getage());
System.out.println("-------------------");
} public String getnum(){
return number;
}
public String getnam(){
return name;
}
public char getsex(){
return sex;
}
public int getage(){
return age;
}
先把修好的程序给你、(可以直接运行)
package test;public class student {
static student student1; public student(String num, String nam, char se, int ag) {
number = num;
name = nam;
sex = se;
age = ag; } /**
* @param args
* the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
student1 = new student("20063690117", "李明", 'M', 23);
show(); } static void show() {
System.out.println("-------------------");
System.out.println(getnum() + " " + getnam() + " " + getsex() + " "
+ getage());
System.out.println("-------------------");
} public static String getnum() {
return student1.number;
} public static String getnam() {
return student1.name;
} public static char getsex() {
return student1.sex;
} public static int getage() {
return student1.age; } private String number, name; private char sex; private int age;}
再给你几个提示:
1,你不能在main()里面在定义方法。
现在有点忙,你好好看看我修改后的程序,跟你写的比比,就知道大概了。。
加油!
下面是我改后的程序,又加了一个changeage()方法,终于把这道题给解决了:
public class student {
static student student1;
public student (String num,String nam,char se,int ag){
number=num;
name=nam;
sex=se;
age=ag;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
student1 = new student("20063690117","李明",'M',23);
changeage();
System.out.println("---------------------");
System.out.println(getnum()+" "+getnam()+" "+getsex()+" "+getage());
System.out.println("---------------------");
} public static String getnum(){
return student1.number;
}
public static String getnam(){
return student1.name;
}
public static char getsex(){
return student1.sex;
}
public static int getage(){
return student1.age;
}
public static void changeage(){
student1.age+=1;
}
private String number,name;
private char sex;
private int age;
}
1,","李明", 李明后面的豆号是全角的
2,你为什么把构造方法外的所有方法都定义为static?你应该好好了解一下static的用法!其实在这里除了main()方法外,其他的方法都没有这个必要!
3,void student1.show(){
System.out.println("-------------------");
System.out.println(getnum(),getnam(),getsex(),getage());
System.out.println("-------------------");
}是什么意思?想把结果现实出来?我想,你是想在外面定义这个方法,但是却又不能有返回值,是吧?其实这样的话,你就不用非要单独把它定义为一个方法了,你可以直接在main()方法中增加 System.out.println(student.getnum()+student.getnam()+student.getsex()+student.getage());就可以了!
4,你的get()方法中用的student1是在哪里定义的呢?没有定义吧?!记住在JAVA要用一个变量必须先定义!而且,你这样要用的并不是某个特定变量的值,而至这个类的值,所以直接用 this就可以了!所以该方法应该:
public String getnum(){
return this.number;
}以上就是主要的问题,把这几个问题解决了,你的程序就可以运行了,我也不把源程序发给你,你自己再写一下,有问题再问,这样才能有进步!另外给你学习JAVA一点建议:虽然你学过C++,但是你在学JAVA的时候还是必须把自己当新手!要从0开始,不要太心急,不要好高骛远!我看了你的程序,感觉兄弟其实还没有入门,我建议你去看《JAVA核心技术I》这本书会帮你很好的步入JAVA殿堂!!祝你成功!
public class Student {
private String number,name;
private char sex;
private int age;
public Student (String number,String name,char sex,int age){
this.number=number;
this.name=name;
this.sex=sex;
this.age=age;
}
public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getNumber() {
return number;
} public void setNumber(String number) {
this.number = number;
} public char getSex() {
return sex;
} public void setSex(char sex) {
this.sex = sex;
}
public void show(){
System.out.println("-------------------");
System.out.println(getNumber()+","+getName()+","+getSex()+","+getAge());
System.out.println("-------------------");
}
public static void main(String[] args) {
Student student1 = new Student("20063690117","李明",'M',23);
Student student2 = new Student("20063690117","sss",'M',23);
student1.show();
student2.show();
}
}
这里是运行结果:
-------------------
20063690117,李明,M,23
-------------------
-------------------
20063690117,sss,M,23
-------------------
想输出多个对象的变量值,你只要new 多个对象,并分别给它们赋值就ok了
不用把这几个变量声明为静态的
提示一点:new 关键字是在堆内存中分配空间