冒泡+封装

闲暇之余,我觉得巩固基础还是很有必要的,不论逻辑是否清楚,有时候就算是非常简单的知识点也会被慢慢遗忘,因为平时工作中不太会注意了,今天写了一个利用数组存储数据,然后使用冒泡可以升序降序排列的一个游戏。

public class JavaTest07 {

    public void CaoZuo(){

        ArrayList list = new ArrayList();
        Scanner scanner = new Scanner(System.in);
        boolean flag = true;
        while(flag){
            System.out.println("请选择要进行的操作:");
            System.out.println("【0】:输入数据");
            System.out.println("【1】:升序排列");
            System.out.println("【2】:降序排列");
            System.out.println("【3】:退出");
            int i = scanner.nextInt();
            /*if(i == 0){
                System.out.println("请输入数字:");
                int sc = scanner.nextInt();
                list.add(sc);
            }else if (i == 1) {
                DaYin( ShengXu(ShuZu(list)) );
            }else if (i == 2) {
                DaYin( JiangXu(ShuZu(list)) );
            }else if (i == 3) {
                System.out.println("谢谢!再见...");
                flag = false;
            }else {
                System.out.println("您的输入有误,请重新操作...");
            }*/
            switch (i) {
            case 0:
                System.out.println("请输入数字:");
                int sc = scanner.nextInt();
                list.add(sc);
                break;
            case 1:
                DaYin( ShengXu(ShuZu(list)) );
                break;
            case 2:
                DaYin( JiangXu(ShuZu(list)) );
                break;
            case 3:
                System.out.println("谢谢!再见...");
                break;
            default:
                System.out.println("您的输入有误,请重新操作...");
                break;
            }
        }

    }

    public int[] ShengXu(int[] li){
        System.out.println("按升序排列");
        for(int i=0; i<li.length; i++){
            for(int j=i+1; j<li.length; j++){
                if(li[i]>li[j]){
                    int temp = li[i];
                    li[i] = li[j];
                    li[j] = temp;
                }
            }
        }
        return li;
    }

    public int[] JiangXu(int[] li){
        System.out.println("按降序排列");
        for(int i=0; i<li.length; i++){
            for(int j=i+1; j<li.length; j++){
                if(li[i]<li[j]){
                    int temp = li[i];
                    li[i] = li[j];
                    li[j] = temp;
                }
            }
        }
        return li;
    }

    public int[] ShuZu(ArrayList list){
        int[] array = new int[list.size()];
        for(int i=0; i<list.size(); i++){
            array[i] = (Integer) list.get(i);
        }
        return array;
    }

    public void DaYin(int[] array){
        System.out.println("开始打印...");
        String s = "";
        //将数组拼成字符串
        for (int i = 0; i < array.length; i++) {
            //System.out.print(array[i] + ",");
            s += array[i] + ",";
        }
        //去掉字符串最后的标点
        String str = s.substring(0, s.length()-1);
        System.out.println("【"+str+"】");
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        JavaTest07 jt = new JavaTest07();
        jt.CaoZuo();

    }

}
时间: 2024-11-03 22:14:03

冒泡+封装的相关文章

JS之事件(一)

事件:交互 异步监听,不是JS引擎监听的 一.绑定 1.ele.onxxxx(eg:onclick) = function (e) { //回调函数/事件处理函数 } 兼容性很好,但同一个事件仅能绑定一个处理函数 等同在html行间写 this指向本身 2.obj.addEventListener(事件type<字符串>, 处理函数, false); div.addEventListener('click', function(){ console.log('hald'); },false )

基本event封装:阻止冒泡、默认事件等

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <div id="box"> <input type="button" value="按钮3" id="btn3"> <a href="http://www.so

第一百六十一节,封装库--JavaScript,完整封装库文件

封装库--JavaScript,完整封装库文件 /** *feng_zhuang_ku_1.0版本,js封装库,2016/12/29日:林贵秀 **/ /** 前台调用 * 每次调用$()创建库对象,使其每次调用都是独立的对象 * $()创建库对象,有一个可选参数,参数有两种方式,1是传入的this,2是传入的字符串 * 可选参数说明: * 传入的this,this,就是当前对象本身 * * 传入的字符串,代表获取元素选择器 * 参数是元素选择器(id值.class值.标签名称)其中一样的字符串

JS-DOM2级事件对象跨浏览器处理(已封装)

1 var eventUill = { 2 //添加事件 3 addHander: function(element, type, handler) { 4 if(element.addEventListener) { 5 element.addEventListener(type, handler, false); 6 } else if(element.attachEvent) { 7 element.attachEvent('on' + type, handler); 8 } else {

【C/C++学院】0828-数组与指针/内存分配/数据结构数组接口与封装

[送给在路上的程序员] 对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现. 对于一个架构师而言,掌握各种语言的优势并可以运用到系统中,由此简化系统的开发,是其架构生涯的第一步. 对于一个开发团队而言,能在短期内开发出用户满意的软件系统是起核心竞争力的体现. 每一个程序员都不能固步自封,要多接触新的行业,新的技术领域,突破自我. 数组与指针 #include<stdio.h> #include<stdlib.h> void main1() { int a[10]

一些函数封装1

//封装document.getElementByIdfunction $() { var elements = new Array(); for (var i = arguments.length - 1; i >= 0; i--) { var element = arguments[i]; if (typeof element == "string") { element = document.getElementById(element); } if (arguments.

焦点 、event对象、事件冒泡、事件绑定、AJAX知识点备忘

焦点:使浏览器能够区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 设置焦点的几种方式: 1.点击 2.TAB键 3.JS onfocus   onblur 属性 var oinp=document.getElementById('shuru') oinp.onfocus=function(){ if(oinp.value=='请输入'){ oinp.value='' } } oinp.onblur=function(){ if(oinp.value==''){ oinp

深入React事件系统(React点击空白部分隐藏弹出层;React阻止事件冒泡失效)

只关注括号内问题的同学,可直接跳转到蓝字部分.(标题起的有点大,其实只讨论一个问题) 两个在React组件上绑定的事件,产生冲突后,使用e.stopPropagation(),阻止冒泡,即可防止事件冲突,毫无问题. 今天是踩了个React事件的坑,需求可以简化为:点击框体以外的部分则隐藏框体.最直接的想法,document上绑定个事件,设置控制显示隐藏的state为false,在框体上绑定个事件,阻止冒泡.这样点击框体内部就不会触发document上的事件. 等写完了,发现一个问题,无法阻止冒泡

事件冒泡与默认行为

在说事件冒泡之前,我们先说说事件对象(Event) Event 在触发DOM上某个事件时,会产生一个事件对象event,这个对象包含着所有事件有关的信息(导致事件的元素.事件的类型.与特定事件相关的信息) 所有浏览器都支持Event对象,但支持方式不同 IE中的事件对象:window.event /* 封装Event对象 IE:window.event */ function getEvent(event){ return event?event:window.event; } 事件冒泡 什么是