A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 田磊阳 金牌黑马   /  2013-3-29 20:35  /  15303 人查看  /  218 人回复  /   3 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黄玉昆 于 2013-4-8 09:00 编辑

活动说明:为提高大家积极性,促进大家学习的兴趣,提升大家的基础,特发此活动贴。
活动时间:2013年3月30日开始,截止到论坛的第20届交流区开办为止。

[fly]让我们的技术起飞吧[/fly]

活动内容:
主要说明:
鼓励大家出一些小程序题,其他童鞋可进行相应的回复,出题者也可给出自己的答案。具体规则如下:
出题者要求:
1、格式要求:
小程序标题:xxx(注:对于题目内容太长的,请写上标题,十个字之内)
小程序题目:xxxx
小程序答案:xxxx(需写上自己的思路)
上一题楼层及时间:第xxx楼,时间为:2013年xx月xx日(注:第一次出题,可不写)
上一题推荐的答案:第xxx楼,推荐理由:xxx(注:第一次出题,可不写)
本题目楼层及时间:第xxx楼,时间为:2013年xx月xx日(这个必须写,为方便给分)
2、题目要求:
第一、给出的题目不能过于简单,如:打印数组的内容、计算1到100的和,等等的题目,题目的程序至少要有两步的思考;当然,也不能太难,不能在基础范围之外(高新技术之前的内容皆可)。如下面示例的题目
第二、给出的题目最好不要在网上随便搜一道题就粘贴上来,一经发现,将关闭此题。
第三、给出的题目需要也同时给出题目的一点思路或提示,如果自己也不能做出来的,也可以出这个题,但是对于都认为难的,此题将关闭。
第四、不得copy别人的题目,如果出现了同样或相似的题目,将关闭第二个题目。
答题者要求:
回复者必须要点击出题者楼层下面的那个回复,不要直接回复我这个帖子,操作如下:找对需要答题的题目那一楼层,如第14楼,那么这楼下面(15楼左上)有个回复,点击这个回复即可,如图:

1、格式要求:
出题者楼层及时间:第xxx楼,时间为:2013年xx月xx日
小程序题目:xxx(直接复制出题者的小程序标题或题目即可)
小程序思路:...........(注:如果自己实在没思路,可不写此项,建议写上)
小程序答案:xxx(特别强调,一定要将代码写入代码框,如有不知道怎么操作的,请看:http://bbs.itheima.com/thread-42978-1-1.html的“⑦添加相应的代码”)
2、答题要求:
第一、杜绝复制别人答案的现象,发现后扣除技术分,严重者将禁言。
第二、每题仅限五名回复者,看到上面答题者次数为5了,请不要再回复了。例外:如果你的回答特别好,并且思路、分析、注释、总结等等都特别全,可以回复,但必须注明:“全面回复”。
第三、每题须写明你的思路,并加上相应的注释,不需每句代码都加注释,但是至少在必要出写上注释。
注:如果有为提到的问题,我们会给出比较合理的处理方式。请谅解,谢谢
活动奖励:
我想这也是大家最关心的了。只要大家按要求做,出题出的好,答题答的漂亮,技术分不会亏待的。
活动正式奖励:
出题者奖励:
第一、符合要求的题目,将加1技术分,否则不加分。
第二、每人仅限出一题,第三天方可出第二题。连续出题者,不给分,严重者(连出三题)将扣分。
第三、坚持出题者,出到第五题了,多加1技术分。如果每次自己都写了思路,并给出自己的答案,且答案思路清晰,注释齐全等等,坚持三次的,将加2技术分。需要自己说明一下:我已坚持出题五次,楼层为:xx楼,xx楼,xx楼,xx楼,xx楼。不说明不给分。
答题者奖励:
第一、答题者必须回复三道题或以上才考虑给1技术分,或者回答的一道题思路清晰,注释齐全的,给1技术分。
第二、每人每天最高给2技术分。对于答的特别好,并且思路、分析、注释、总结等等都特别全的,可给这样的一道题就加1技术分。
第三、发现copy别人答案的,扣除1技术分。
第四、坚持答题五天的,送出2技术分,坚持15天的,给出3技术分,也就是说,你第15天一共获得了5技术分。请相应的说明一下,格式如上。
示例:
出题者:
小程序标题:建立员工模型
小程序题目:假如在开发一个系统时需要对员工进行建模,员工有3个属性:姓名、工号以及工资,并含有一个方法是如何工作(实现的方法直接打印即可);创建一个普通员工类和一个经理类,经理也是员工,除了含有员工的属性外,还有一个奖金属性,请使用继承的思想设计出员工类,普通员工类和经理类,要求类中提供必要的方法进行属性访问。
小程序答案:(出题者可写,可不写,我在这里作为例子就不写了)
上一题楼层及时间:无(因为这里是第一题,就不涉及上一题了,就不用写了)
上一题推荐的答案:无 (因为这里是第一题,就不涉及上一题了,就不用写了)
回复者楼层:109楼
本题目楼层及时间:第133楼,时间为:2013年4月3日

答题者:(注:需要点击出题者即133楼下面的回复,再进行回复哦。操作方法如上面的答题者要求)
出题者楼层及时间:第133楼,时间为:2013年4月3日
答题者次数:我是本题的第3位答题者
小程序题目:建立员工模型
小程序思路:
1、建模需要是一个员工模型,即抽象出来的类。
员工类:name、id、salary,抽象方法工作。
普通员工类:继承员工类,实现工作的方法
经理类:继承了员工类,并与自己的bonus(奖金),并实现工作的方法。
小程序答案:
  1. public class AbstractDemo {
  2.         public static void main(String[] args) {
  3.                 //创建数组,存入员工
  4.                 Employee[] es = new Employee[2];
  5.                 //创建普通员工对象
  6.                 es[0] = new Manager("ZS", 1, 8500, 2000);
  7.                 //创建经理对象
  8.                 es[1] = new Pro("WS", 2, 6500);
  9.                 for(Employee e : es){
  10.                         System.out.println(e.getName() + ":" + "," + e.getId() + "," + e.getSalary() + ";");
  11.                         e.work();
  12.                 }
  13.         }
  14. }
  15. //构建员工类模型
  16. abstract class Employee{
  17.         //定义成员变量
  18.         private String name;
  19.         private int id;
  20.         private double salary;
  21.         //初始化Employee
  22.         public Employee(String name, int id, double salary) {
  23.                 this.name = name;
  24.                 this.id = id;
  25.                 this.salary = salary;
  26.         }
  27.         //公共访问成员方法
  28.         public double getSalary() {
  29.                 return salary;
  30.         }
  31.         public void setSalary(double salary) {
  32.                 this.salary = salary;
  33.         }
  34.         public String getName() {
  35.                 return name;
  36.         }
  37.         public int getId() {
  38.                 return id;
  39.         }
  40.         //各类员工工作的方式
  41.         public abstract void work();
  42. }
  43. //创建普通员工类继承员工
  44. class Pro extends Employee {
  45.         //初始化普通员工
  46.         public Pro(String name, int id, double salary) {
  47.                 super(name, id, salary);
  48.         }
  49.         //实现普通员工的work方法
  50.         public void work(){
  51.                 System.out.println(this.getName() + " is working....");
  52.         }
  53. }
  54. //创建经理类,继承员工类
  55. class Manager extends Employee {
  56.         private double bonus;
  57.         private double salary;
  58.         //初始化经理类
  59.         public Manager(String name, int id, double salary, double bonus) {
  60.                 super(name, id, salary);
  61.                 this.bonus = bonus;
  62.         }
  63.         //重构经理类成员获取工资的方法
  64.         public double getSalary() {
  65.                 return salary + bonus;
  66.         }
  67.         //获取和设定奖金的方法
  68.         public double getBonus() {
  69.                 return bonus;
  70.         }
  71.         public void setBonus(double bonus) {
  72.                 this.bonus = bonus;
  73.         }
  74.         //实现经理类work的方法
  75.         public void work(){
  76.                 System.out.println(this.getName() + " is working...");
  77.         }
  78. }
复制代码

评分

参与人数 3黑马币 +110 收起 理由
滔哥 + 50
张熙韬 + 30 赞一个!
黄玉昆 + 30 很给力!

查看全部评分

218 个回复

倒序浏览
本帖最后由 黄玉昆 于 2013-3-29 20:53 编辑

大家开始抢楼吧

点评

老田啊..... 一个好贴..... 被灌水的毁了....  发表于 2013-4-10 10:52

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 赞一个!

查看全部评分

回复 使用道具 举报
沙发一个先{:soso_e113:}

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
这个帖子8错,必须顶
回复 使用道具 举报
支持活动哦!
回复 使用道具 举报
支持。支持。这个活动好。
回复 使用道具 举报
楼主你把第一个沙发占了,我们怎么算啊,嘿嘿,从第二个开始算第一个吗?
回复 使用道具 举报
黄玉昆 黑马帝 2013-3-29 20:58:38
8#
没人来抢楼吗?我来抢一层
回复 使用道具 举报
规则好长啊,看的晕了,先占一楼
回复 使用道具 举报
本帖最后由 qwe8234118 于 2013-3-29 21:04 编辑

版主  你这个帖子我还是没看懂  回帖方式看迷糊了。。。。。
回复 使用道具 举报
继续抢楼层啊  
回复 使用道具 举报
我还抢楼层
回复 使用道具 举报
抢楼层啊  吼吼

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
抢楼先。。
回复 使用道具 举报
先抢了再说
回复 使用道具 举报
我也继续抢
回复 使用道具 举报
本帖最后由 HM刘俊 于 2013-3-29 21:10 编辑

标题:一个小算法题。
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。   
答案:
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:   
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。   
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。   
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。  
import java.util.*;
public     class     lianxi04{
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.print( "请键入一个正整数:     ");
        int    n    = s.nextInt();
        int k=2;
        System.out.print(n + "=" );
        while(k <= n) {
          if(k == n) {System.out.println(n);break;}
            else if( n % k == 0) {System.out.print(k + "*");n = n / k; }
                    else    k++;
                   }
     }
    }

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
我抢···············
回复 使用道具 举报
。。。。。你自己也抢啊
回复 使用道具 举报
抢了么·······
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马