首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

请帮小弟我看看结果如何全是乱码啊是不是软件编码的原因啊多谢

2012-12-14 
请帮我看看结果怎么全是乱码啊?是不是软件编码的原因啊,谢谢运行环境是:eclipse下面是全部代码:class Pers

请帮我看看结果怎么全是乱码啊?是不是软件编码的原因啊,谢谢


运行环境是:eclipse

下面是全部代码:
class Person {
         private String name;
         private char sex;
         private int age;
protected String getName() {
return name;
}

protected char getSex() {
return sex;
}

protected int getAge() {
return age;
}

public Person(String name,char sex,int age){
this.name =name;
this.age=age;
this.sex=sex;
}
    public void think(){ 
System.out.println(name +"在思考^^^^^^");
}
         
}


class xueshenglei extends Person {
      private String xuehao;
      
       public xueshenglei(String name,char sex,int age,String xuehao) {
super(name,sex,age);
this.xuehao=xuehao;
}
       
       protected String getXuehao() {
return xuehao;
}



public void learn() {
System.out.println(getName()+"正在在学习………………");
}
}


class daxueshenglei extends xueshenglei{
        public daxueshenglei(String name,char sex,int age,String xuehao){
        super(name,sex,age,xuehao);
        }
        
        public void study() {
                  System.out.println(getName()+"正在学习^^^^^^");
}
        
        public String fun(){
        return String.format("所构造的大学生信息:%s,%c,%d岁,%s号" ,getName(),getSex(),getAge(),getXuehao());
        }
}



public class ceshi3 {
public static void main(String[] args) {
 
System.out.println("======构造大学生的对象======");
  Scanner scan =new Scanner(System.in);
  String xuehao=null,name=null;
  int  age=0;
  char  sex=0;
while(true){  
  System.out.println("请输入空格分隔的姓名 、性别 、年龄 、学号 \n");
  try {
   name=scan.next();
   if (name.equals("end")) {
System.out.println("程序结束————————");
   }
   sex=scan.next().charAt(0);
   age=scan.nextInt();
   xuehao = scan.next();
   if (xuehao.equals("end")) {
System.out.println("程序结束————————");
}   
}
  catch (Exception e)
  {
System.out.println("异常:"+e);
  }
daxueshenglei yi =new daxueshenglei(name,sex,age,xuehao);


System.out.println(yi.fun());
yi.learn();
yi.study();
}
}

}
    谢谢各位大侠了
[最优解释]
学生类,要加个学号的get 方法。你没有包含学号的四个参数的构造方法。不知道你学号怎么得到的。:

public static void main(String[] args) {
 
System.out.println("======构造大学生的对象======");
  Scanner scan =new Scanner(System.in);
  String xuehao=null,name=null;
  int  age=0;
  char  sex=0;
while(true){  
  System.out.println("请输入空格分隔的姓名 、性别 、年龄 、学号 \n");
  try {
   name=scan.next();
   if (name.equals("end")) {
System.out.println("程序结束————————");
   }
   sex=scan.next().charAt(0);
   age=scan.nextInt();
   xuehao = scan.next();
   if (xuehao.equals("end")) {
System.out.println("程序结束————————");
}    
}
  catch (Exception e)
  {
System.out.println("异常:"+e);
  }
daxueshenglei yi =new daxueshenglei(name,sex,age,xuehao);
System.out.println(yi.fun());
yi.learn();
yi.study();
}
}


测试3的方法,这边改成这样:
daxueshenglei yi =new daxueshenglei(name,sex,age);
yi.setXuehao(xuehao);
System.out.println(yi.fun());
yi.learn();
yi.study();

最后把项目环境改成UTF-8吧。

[其他解释]
学生类的代码复制错了,应该是加set方法。。:
public class xueshenglei extends Person{
private String xuehao;

public xueshenglei(String name, char sex, int age) {
super(name, sex, age);
}

protected String getXuehao() {
return xuehao;
}

public void setXuehao(String xuehao) {
this.xuehao = xuehao;
}

public void learn() {
System.out.println(getName()+"正在在学习………………");
}
}

热点排行