新手求意见 定义的一学生类,并创建类的对象。
import java.util.*;
public class student {
String stnum;
String name;
String sex;
int age;
void getStnum()
{
System.out.println("请输入学号:");
Scanner a = new Scanner(System.in);
stnum = a.next();
};
void getName()
{
System.out.println("请输入学生姓名:");
Scanner a = new Scanner(System.in);
name = a.next();
}
void getSex()
{
System.out.println("请输入学生性别:");
Scanner a = new Scanner(System.in);
sex = a.next();
}
void getAge()
{
Scanner scanner=new Scanner(System.in);
System.out.println("输入学生年龄:");
age=scanner.nextInt();
}
void alterAge()
{
int b;
Scanner scanner=new Scanner(System.in);
System.out.println("输入你要改变的数值:");
b=scanner.nextInt();
age=b;
}
public static void main(String[] args) {
student A=new student();
student B=new student();
A.getStnum();
A.getSex();
A.getName();
A.getAge();
B.getStnum();
B.getSex();
B.getName();
B.getAge();
B.alterAge();
System.out.println("学号:"+A.stnum+"性别:"+A.sex+"姓名:"+A.name+"年龄:"+A.age+"学号:"+B.stnum+"性别:"+B.sex+"姓名:"+"姓名:"+B.name+"年龄:"+B.age);
}
}
我费解的是为什么输入的姓名,性别为中文,输出就出问题了?
------解决方案--------------------貌似没看出有什么问题,可能是你输入的时候没有换行。
还有, 类名应该大写得哟!
------解决方案--------------------System.in是一个InputStream,也就是字节流。in是System这个类的一个属性来着。中文是两个字节,再往里面读的时候,是把中文拆成两个字节读进去了,但是虚拟机却只是以字节输出,怎么知道你是要中文输出呢!
------解决方案--------------------问题到没看出什么来!
不过lz写代码很不规范,到是看出来来了,类名不以大写字目开头,不规范,如果是个JavaBean,那么因该写到应的get,set方法,而不是get来设置一个属性的值,不是么?