java程序设计2

/**
声明:内容为开快车的小吕(本账户)原创
题目来自CSDN博主「自由的小白」的原创文章第2题, 原文链接:https://blog.csdn.net/zzzzlei123123123/article/details/79607984
问题描述
一坐标轴表示某道路,从0开始到L,整数位置上都种有一棵树,现改路维修
要砍掉铁路上的树木(铁路可以重叠)。
例如:L等于10,铺设四条铁路,坐标是(1,2)、(2,3)、(2,8)、(3,5)
那么1到8坐标点的树都要砍掉,剩下0,9,10三颗。程序要求,输入L
输入铺设铁路条数m,然后输入m铁路的坐标。求剩下多少颗树。
*/
import java.util.Scanner;
public class Railway {
    public static void main(String[] args) {
        int sum=0;
        Scanner scanner=new Scanner(System.in);
        int[] rail=new int[]{1,1,1,1,1,1,1,1,1,1,1};
        System.out.println("输入铁路条数");
        int length=scanner.nextInt();
        for (int i=0;i<length;i++){
            System.out.println("请输入起始坐标0-10");
            int start=scanner.nextInt();
            int end=scanner.nextInt();
            for (;start<=end;start++){
                rail[start]=0;
            }
        }
        for (int i=0;i<11;i++){
            System.out.print(rail[i]+" ");
        }
        System.out.print("树的个数为");
        for (int i=0;i<11;i++)
            if (rail[i]==1)
                sum++;
        System.out.println(sum);


    }
}
已标记关键词 清除标记
相关推荐
Java程序员居家旅行必备课程 ☆<br /> <br /> Java学习指南系列的第4篇,介绍基于Java Swing的的高级应用技术。本篇的前一篇是Swing入门篇。<br /> Swing系列教程分为两篇:(1) Swing入门篇 (2) Swing高级篇。<br /> <br /> 本篇内容至少包含:<br /> - 高级绘制技术,包含线型、渐变色、文本的精确绘制<br /> - 不规则形状及图表的绘制<br /> - 工作线程与界面线程的原理<br /> - 短任务、长任务、定时任务的应用举例<br /> - 弹出式窗口 Popup的使用方法<br /> - 短消息提示 Toaster 的设计与使用<br /> - 事件处理机制,鼠标键盘事件处理,以及一个基于键盘操作的“推箱子”游戏 <br /> - 多行文本的显示<br /> - 图片操作:缩放、剪裁、旋转、镜像,以及一个屏幕截图程序的实例<br /> - 管理型应用界面的框架<br /> - 向导型应用界面的框架<br /> - 文档型应用界面的框架<br /> - 拖放支持 Drag & Drop,一个可拖拽排序的列表,以及一个拼图游戏的实现<br /> <br /> * 课程特色 *<br /> 轻快 - 采用小章节教学,学起来轻松<br /> 实用 - 以实际工程需要出发来设计课程<br /> 有趣 - 穿插大量特效实例,增加趣味性和学员的成就感<br /> 专业 - 课程中采用的代码库,就是经过良好封装的成熟的库<br /> <br /> 本篇穿插多个实例,通过实例,综合运用多种技术,使学员对项目的构建有所有认识。<br />
1) 优秀的程序应该是这样的:阅读时,感觉很优雅;新增功能时,感觉很轻松;运行时,感觉很快速,这就需要设计模式支撑。<br /> <br /> 2) 设计模式包含了大量的编程思想,讲授和真正掌握并不容易,网上的设计模式课程不少,大多讲解的比较晦涩,没有真实的应用场景和框架源码支撑,学习后,只知其形,不知其神。就会造成这样结果: 知道各种设计模式,但是不知道怎么使用到真实项目。本课程针对上述问题,有针对性的进行了升级 (1) 授课方式采用 图解+框架源码分析的方式,让课程生动有趣好理解 (2) 系统全面的讲解了设计模式,包括 设计模式七大原则、UML类图-类的六大关系、23种设计模式及其分类,比如 单例模式的8种实现方式、工厂模式的3种实现方式、适配器模式的3种实现、代理模式的3种方式、深拷贝等<br /> <br /> 3) 如果你想写出规范、漂亮的程序,就花时间来学习下设计模式吧<br /> <br /> 课程内容和目标<br /> <br /> 本课程是使用Java来讲解设计模式,考虑到设计模式比较抽象,授课采用 图解+框架源码分析的方式<br /> <br /> 1) 内容包括: 设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚合和组合) 23种设计模式包括:创建型模式:单例模式(8种实现)、抽象工厂模式、原型模式、建造者模式、工厂模式。结构型模式:适配器模式(3种实现)、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式(3种实现)。行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)<br /> <br /> 2) 学习目标:通过学习,学员能掌握主流设计模式,规范编程风格,提高优化程序结构和效率的能力。<br /> <div> <br /> </div>
<span style="color:#404040;">1.算法是程序的灵魂,优秀的程序在对海量数据处理时,依然保持高速计算,就需要高效的数据结构和算法支撑。</span><br /><br /><span style="color:#404040;">2.网上数据结构和算法的课程不少,但存在两个问题:</span><br /><br /><span style="color:#404040;">1)授课方式单一,大多是照着代码念一遍,数据结构和算法本身就比较难理解,对基础好的学员来说,还好一点,对基础不好的学生来说,基本上就是听天书了</span><br /><span style="color:#404040;">2)说是讲数据结构和算法,但大多是挂羊头卖狗肉,算法讲的很少。 本课程针对上述问题,有针对性的进行了升级 </span><br /><span style="color:#404040;">3)授课方式采用图解+算法游戏的方式,让课程生动有趣好理解 </span><br /><span style="color:#404040;">4)系统全面的讲解了数据结构和算法, 除常用数据结构和算法外,还包括程序员常用10大算法:二分查找算法(非递归)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法、马踏棋盘算法。可以解决面试遇到的最短路径、最小生成树、最小连通图、动态规划等问题及衍生出的面试题,让你秒杀其他面试小伙伴</span><br /><br /><span style="color:#404040;">3.如果你不想永远都是代码工人,就需要花时间来研究下数据结构和算法。</span><br /><br /><span style="color:#404040;">教程内容:</span><br /><span style="color:#404040;">本教程是使用Java来讲解数据结构和算法,考虑到数据结构和算法较难,授课采用图解加算法游戏的方式。内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式、递归与回溯、迷宫问题、八皇后问题、算法的时间复杂度、冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、基数排序(桶排序)、堆排序、排序速度分析、二分查找、插值查找、斐波那契查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)、AVL树、线索二叉树、赫夫曼树、赫夫曼编码、多路查找树(B树B+树和B*树)、图、图的DFS算法和BFS、程序员常用10大算法、二分查找算法(非递归)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法马踏棋盘算法。</span><br /><br /><span style="color:#404040;">学习目标:</span><br /><span style="color:#404040;">通过学习,学员能掌握主流数据结构和算法的实现机制,开阔编程思路,提高优化程序的能力。</span>
内容简介 《编写高质量代码:改善Java程序的151个建议》在通往“java技术殿堂”的路上,《编写高质量代码:改善Java程序的151个建议》将为你指点迷津!内容全部由java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面,对java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为java程序员如何编写高质量的java代码提出了151条极为宝贵的建议。对于每一个问题,不仅以建议的方式从正反两面给出了被实践证明为十分优秀的解决方案和非常糟糕的解决方案,而且还分析了问题产生的根源,犹如醍醐灌顶,让人豁然开朗。 《编写高质量代码:改善Java程序的151个建议》一共12章,第1~3章针对java语法本身提出了51条建议,例如覆写变长方法时应该注意哪些事项、final修饰的常量不要在运行期修改、匿名类的构造函数特殊在什么地方等;第4~9章重点针对jdk api的使用提出了80条建议,例如字符串的拼接方法该如何选择、枚举使用时有哪些注意事项、出现nullpointerexception该如何处理、泛型的多重界限该如何使用、多线程编程如何预防死锁,等等;第10~12章针对程序性能、开源的工具和框架、编码风格和编程思想等方面提出了20条建议。 《编写高质量代码:改善Java程序的151个建议》针对每个问题所设计的应用场景都非常典型,给出的建议也都与实践紧密结合。书中的每一条建议都可能在你的下一行代码、下一个应用或下一个项目中崭露头角,建议你将此书搁置在手边,随时查阅,一定能使你的学习和开发工作事半功倍。
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页