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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小鲁哥哥 于 2017-8-25 10:56 编辑

【济南中心】JavaEE基础班自习补课day07



       随着时间一天天过去,基础班已经进行到了day07,这天的自习课,我们技术辅导给基础班的部分学员进行了补课,补课是采用自愿原则,并不点名,但是大家都很热情,有一半的同学参加了补课。
       补课内容全部是已经学过的知识点,以案例为主,强调重点,强调练习。
       那接下来就一起看看,这次补课的内容吧~
       首先一上来呢,技术辅导给大家解答疑惑,面向对象在后面的就业班还会再深入学习4天,所以不用担心理解不了。第一天接触是有一点难理解的,这很正常。
       那第一道题呢,就是回顾之前的一个经典练习题。题目是这样的:
       设计一个程序,键盘输入月份,控制条输出季节.3,4,5春季/6,7,8夏季/9,10,11秋季/12,1,2冬季。

       给大家10分钟的时间,大家有的用的if else 有的用的switch case,不过其中有部分同学也暴露出了很多问题。比如键盘录入的代码忘了啊,switch忘了怎么拼啊,这些提醒我们,学过去的东西,当时掌握了,但是还要不断的复习,巩固,根据艾宾浩斯遗忘曲线,我们要尽快的多频次的复习。
      当然还给大家介绍了一些编程技巧,就是熟练使用我们的编辑工具,提高我们编程效率。
      比如你写了个swi就忘了这个关键词后面是啥了,没关系,只要使用alt + /提示快捷键,马上就出来了提示。如图:

     

    然后按下回车,switch case代码框架就有了!
     

    然后再添加合适的变量名和值,多复制几个case这部分代码很快就写完了。是不是快了很多?
[Java] 纯文本查看 复制代码
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份(1-12):");
                        int yuefen = sc.nextInt();
                        switch (yuefen) {
                        case 1:
                        case 2:
                        case 12:
                                System.out.println("冬季");
                                break;
                        case 3:
                        case 4:
                        case 5:
                                System.out.println("春季");
                                break;
                        case 6:
                        case 7:
                        case 8:
                                System.out.println("夏季");
                                break;
                        case 9:
                        case 10:
                        case 11:
                                System.out.println("秋季");
                                break;
                        default:
                                System.out.println("输入信息有误");
                              
                                break;
                        }

         做完上面的代码,技术辅导又给大家提出了新的需求:我要让程序不断的执行, 我不断的输入月份,程序给出季节,直到我输入错误程序才停止。
        然后又给大家10分钟的时间,自己写一下。
        这里每个同学的思路也是不一样的,有的用的for循环,有的用的while循环。这样能开阔思路,主动思考比被动吸收好很多。
        10分钟过后,技术辅导给大家讲解了一下。说了一种开关思想。用一个变量来控制程序循环的执行。
      
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                boolean b = true;//开关思想
                while(b){
                        System.out.println("请输入月份(1-12):");
                        int yuefen = sc.nextInt();
                        switch (yuefen) {
                        case 1:
                        case 2:
                        case 12:
                                System.out.println("冬季");
                                break;
                        case 3:
                        case 4:
                        case 5:
                                System.out.println("春季");
                                break;
                        case 6:
                        case 7:
                        case 8:
                                System.out.println("夏季");
                                break;
                        case 9:
                        case 10:
                        case 11:
                                System.out.println("秋季");
                                break;
                        default:
                                System.out.println("输入信息有误");
                                b = false;
                                break;
                        }
                }
                
        }
        
     接下来按照这种方式讲解了几道练习题。把重点知识串联了一下。
     这里我把题目提供给大家,希望想要巩固复习一下的同学可以试着自己思考做一下,然后对比答案,看看自己哪里还欠缺。
     1.键盘录入班级人数
        2.根据录入的班级人数创建数组
        3.利用随机数产生0-100的成绩给数组元素赋值(包含0和100)
        4.要求:
                (1)打印该班级的不及格人数
                (2)打印该班级的平均分
                (3)演示格式如下:
                        请输入班级人数:
                        键盘录入:100
                        控制台输出:
                                不及格人数:19
                                班级平均分:87
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
                //1-0-0 键盘录入成绩
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入班级人数:");
                int num_class = sc.nextInt();
                int[] arr = new int[num_class];
                Random r = new Random();
                //定义个计数器
                int count = 0;
                int sum = 0;
                //遍历数组,用随机数给数组元素赋值
                for (int i = 0; i < arr.length; i++) {
                        int chengji = r.nextInt(101);//包含头不包含尾
                        arr = chengji;
                        System.out.print(chengji+" ");
                        if(chengji<60){
                                count ++;
                        }
                        sum = sum + chengji ;
                }
                System.out.println();
                System.out.println("不及格的人数是:"+count);
                System.out.println("平均分是:"+sum/num_class);        
        }



定义“电脑类”Computer,包含以下成员:
         成员属性:
品牌brand( String类型)
价格 price(double类型)
         成员方法:
编码coding,  调用方法打印 ***电脑正在使用Java语言编程
玩游戏,playGame,调用方法打印 ***电脑正在玩王者荣耀
定义测试类Test,定义main方法,main方法内完成:
    a.创建一个电脑对象,设置品牌为ThinkPad,价格为7399,调用方法coding
    b.创建一个电脑对象,设置品牌为acer,价格为5399,调用方法playGame
演示格式如下:
7399.0的ThinkPad电脑正在使用Java语言编程
5399.0的acer电脑正在玩王者荣耀

[Java] 纯文本查看 复制代码
public class Computer {
        private String brand;
        private double price;//alt + shift + s
        
        
        public Computer() {
                
        }

        public Computer(String brand, double price) {
                super();
                this.brand = brand;
                this.price = price;
        }
        
        public String getBrand() {
                return brand;
        }
        public void setBrand(String brand) {
                this.brand = brand;
        }
        public double getPrice() {
                return price;
        }
        public void setPrice(double price) {
                this.price = price;
        }
        public void coding(){
                System.out.println(this.price+"元的"+this.brand + "电脑正在使用Java语言编程");
        }
        public void playGame(){
                System.out.println(this.price+"元的"+this.brand + "电脑正在玩王者荣耀");
        }
}

[Java] 纯文本查看 复制代码
public static void main(String[] args) {
                Computer c = new Computer();
//                c.brand = "ThinkPad";
//                c.price = 7399;
                c.setBrand("ThinkPad");
                c.setPrice(7399);
                c.coding();
                
                Computer c1 = new Computer("acer",5399);//如果你再类里创建了有参构造,系统就不会再提供空参构造了。
                c1.playGame();
        }


这是这次基础班day07补课的部分内容,另外还有方法的重载,数组等知识点的强调。同学们表示技术辅导的补课对于自己加深理解很有帮助。这也是黑马对于每一个学员不抛弃不放弃的体现!

念念不忘,必有回响!

5 个回复

倒序浏览
回复 使用道具 举报
棒棒哒~
回复 使用道具 举报
回复 使用道具 举报
fashionkillyou 来自手机 中级黑马 2017-9-23 12:42:08
报纸
老师辛苦
回复 使用道具 举报
计算学生不及格人数的那个,arr=chengju这块,应该是arr=chengji吧
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马