| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1193 人关注过本帖
标题:帮我看下这个关于继承程序!
取消只看楼主 加入收藏
gdy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-4-5
结帖率:50%
收藏
 问题点数:0 回复次数:4 
帮我看下这个关于继承程序!
import java.util.Scanner;
abstract class person
{
    String name;
  String sex;
  int age;
  
  protected void person()
  {
      Scanner reader=new Scanner(System.in);
      System.out.print("请输入姓名:");
         name=reader.nextLine();

         System.out.print("请输入性别:");
         sex=reader.nextLine();
         
         System.out.print("请输入年龄:");
    age=reader.nextInt();
    }
   
    abstract public void show1();
/*    abstract public void show2();*/
}

class student extends person
{
  String num;
  String classdry;
  /*double chinese;
  double math;
  double english;*/
  static String course;
  static double score;
  static double sum=0;
  
  public static double total(int m)
    {
     int i;
     for(i=0;i<m-1;i++)
     {sum=sum+score;
      //   System.out.print("\n总分:"+sum);
         }
    return(sum);
     
    }

  public static double average(int m)
   {
   
    double avg;
    avg=sum/m;
    //System.out.print("平均分:"+avg);
    return(avg);
  }
  
  protected void print1()
  {
      
       Scanner reader=new Scanner(System.in);
       System.out.println("请输入学生基本信息!");

       System.out.print("请输入学号:");
     num=reader.nextLine();
      
       super.person();
      
          System.out.print("请输入是否是班干部:");
          classdry=reader.nextLine();
         
          /*System.out.print("请输入语文成绩:");
          chinese=reader.nextInt();

          System.out.print("请输入数学成绩:");
          math=reader.nextInt();

          System.out.print("请输入外语成绩:");
     english=reader.nextInt();*/
     }
   
   public static void print2(student stu[],int m)
     {
         for(int j=0;j<m;j++)
         {
             Scanner reader=new Scanner(System.in);
             System.out.println("请输入课程名及其成绩:");
             course=reader.nextLine();
             score=reader.nextDouble();
             System.out.println(course+"的成绩"+score);
         }
    }
     
     public void show1()
     {
         System.out.print("学号:"+num+"  "+"姓名:"+name+"  "+"性别:"+sex+"  "+"年龄:"+age+"  "+"是否是班干:"+classdry);
    }
   
   /* public void show2()
    {
     System.out.print("\n"+course+"成绩"+score);
    }*/
  
   
 /* public static  void  sorting(student stu[],int n)
   {
    int i,j;
    student t;
    for(j=0;j<n-1;j++)
    for(i=0;i<n-1-j;i++)
    if(stu[i].total()<stu[i+1].total())
    {t=stu[i];stu[i]=stu[i+1];stu[i+1]=t;}
    for(i=0;i<n;i++)
    System.out.println("第"+(i+1)+"名为:"+stu[i].name+"总分为:"+stu[i].total());
  }*/
}


class computer extends student
{
 private String department;
// private double java;
 
 void comstudent(String dep)
 {
     department=dep;
     System.out.print("  系别:"+department);
 }
}
  
  
  
class allstudent
 {
      public static void main(String args[])
      {            
           int n,m;
     Scanner reader=new Scanner(System.in);
     System.out.print("请输入你想输入多少个学生资料:");
     n=reader.nextInt();
     System.out.print("请输入你想输入的课程数:");
     m=reader.nextInt();
           computer stu[];
     stu=new computer[n];
                 
     for(int i=0;i<n;i++)
     {
      stu[i]=new computer();
      stu[i].print1();
      computer.print2(stu,m);
      stu[i].show1();
      stu[i].comstudent("计算机科学系");
      //stu[i].show2();
      System.out.print("\n总分为"+student.total(m)+","+"平均分为"+student.average(m));
      System.out.println();
      }
      
               
         // computer.sorting(stu,n);
     }
}

其中算总分和平均分那里不知道怎么写!上面的程序就那里有问题!但找不出来!能运行,但算的总分错的!
搜索更多相关主题的帖子: 继承 
2010-11-08 16:32
gdy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-4-5
收藏
得分:0 
请大家帮帮忙!急!
谢谢!
2010-11-08 16:37
gdy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-4-5
收藏
得分:0 
import java.util.Scanner;
abstract class person   //声明一个抽象类person
{
    String name;
  String sex;
  int age;
  
  protected void person()
  {
      Scanner reader=new Scanner(System.in);
      System.out.print("请输入姓名:");
         name=reader.nextLine();

         System.out.print("请输入性别:");
         sex=reader.nextLine();
         
         System.out.print("请输入年龄:");
    age=reader.nextInt();
    }
   
    abstract public void show();//声明一个抽象方法show()

}

class student extends person  //声明一个student类继承person类
{
  String num;
  String classdry;
  static String course;
  static double score;
  static double sum=0,sum1=0,sum2=0;
  
  protected void print1()
  {
      
       Scanner reader=new Scanner(System.in);
       System.out.println("请输入学生基本信息!");

       System.out.print("请输入学号:");
     num=reader.nextLine();
      
       super.person();
      
          System.out.print("请输入是否是班干部:");
          classdry=reader.nextLine();

   }
   
   public void show()  //实现抽象方法show()
     {
         System.out.print("学号:"+num+"  "+"姓名:"+name+"  "+"性别:"+sex+"  "+"年龄:"+age+"  "+"是否是班干:"+classdry);
    }
   
   public static void print2(student stu[],int m) //输入课程名及课程成绩
     {
         for(int i=0;i<m;i++)
         {
             Scanner reader=new Scanner(System.in);
             System.out.println("请输入课程名及其成绩:");
             course=reader.nextLine();
             score=reader.nextDouble();
             sum1+=score;
        System.out.println(course+"成绩"+score);
       }
       }

    public double total() //计算总分
    {
     sum=sum1;
     sum1=0;
     return(sum);
     }

  public static double average(int m) //计算平均分
   {
    return(sum/m);
       }     
         
}  
   

class computer extends student  //声明一个计科系学生类继承学生类
{
 private String department;
 void comstudent(String dep)
 {
     department=dep;
     System.out.print("  系别:"+department);
 }
}
  
  
  
class allstudent
 {
      public static void main(String args[])
      {            
           int n,m;
     Scanner reader=new Scanner(System.in);
     System.out.print("请输入你想输入多少个学生资料:");
     n=reader.nextInt();
     System.out.print("请输入你想输入的课程数:");
     m=reader.nextInt();
           computer stu[];
     stu=new computer[n];
                 
     for(int i=0;i<n;i++)
     {
      stu[i]=new computer();
      stu[i].print1();
      computer.print2(stu,m);
      stu[i].show();
      stu[i].comstudent("计算机科学系");
      System.out.print("\n总分为"+stu[i].total()+","+"平均分为"+student.average(m));
      System.out.println();
      }
               
      computer temp=new computer();
    for(int j=1;j<n;j++)
    for(int k=0;k<n-j;k++)
        if(stu[k].total()>stu[k+1].total())
        {
        temp = stu[k+1];
        stu[k+1] = stu[k];
        stu[k] = temp;
        }
        
    for(int x=0;x<n;x++)
    System.out.println("第"+(x+1)+"名的姓名是"+stu[x].name+"总分"+stu.[x]total()) ;
   
    }
}


我的总分这个能算了  但就是不能排序啊    能帮我看下么!!

[ 本帖最后由 gdy 于 2010-11-18 21:35 编辑 ]
2010-11-18 21:33
gdy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-4-5
收藏
得分:0 
我可是个女的,不要叫我哥好不、哈哈......
2010-11-18 21:36
gdy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-4-5
收藏
得分:0 
不会啊0.0    我才是接触java  好多不明白的。
2010-11-20 20:35
快速回复:帮我看下这个关于继承程序!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015344 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved