随笔分类 - JAVA
摘要:对大数据进行排序时,冒泡排序、选择排序、奇偶排序、插入排序的效率不相同各种排序的代码:冒泡排序:View Code 1 public void bubbleSort()2 {3 int out, in;4 5 for(out=nElems-1; out>1; out--) // outer loop (backward)6 for(in=0; in<out; in++) // inner loop (forward)7 if( a[in] > a[in+1] ) // out of or...
阅读全文
摘要:归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并操作归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。算法描述归并操作的过程如下:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列设定两个指针,最初位置分别为两个已经排序序列的起始位置比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置重复步骤3直到某一指针达到序列尾将另一序列剩下的所有元素直接复制到合并序列尾 归
阅读全文
摘要:算法思路: 在数组中重复两趟扫描。第一趟扫描选择所有的数据项对,a[j]和 a[j+1], j 是奇数(j=1, 3, 5,…)。如果它们的关键字的值次序颠倒,就交换它们。第二趟扫描对所有的偶数数据项进行同样的操作(j=0, 2, 4, 6,…)。重复进行这样两趟的排序直到数组全部有序。注:奇偶排序实际上在多处理器环境中很有用,处理器可以分别同时处理每一个奇数对,然后又同时处理偶数对。因为奇数对是彼此独立的,每一对都可以用不同的处理器比较和交换。这样可以快速地排序。自己的理解:不断比较相邻两个数据(根据奇数对和偶数对来比较),进行一趟就能把大的那个数移动到下一位,小的那个数移动到前一位,奇偶数
阅读全文
摘要:SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 来创建日期-时间格式器。每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式器。可以根据需要使用 applyPattern 方法来修改格式模式。实例:查看大数据量时冒泡排序
阅读全文
摘要:摘自:http://bbs.cfanclub.net/thread-486439-1-1.html看到很多人想学习编程,所以也想给大家做一点贡献。现在有很多编程语言,百度一下,可以看到很多。但是目前流行于各大软件公司的主要还是java和。net等等。用好编程工具是提高编程效率很重要的方法。所以呢,今天我给大家讲一下java语言用的编程工具eclipse、官网上也有汉化包。当然如果英文好的话,也可以不用。在这里为了方便大家都能看懂,我就讲一下汉化过的。此工具是sun公司出品的。是完全免费的。当然用此工具要在sun公司的官网上下载jdk工具包。这些都比较简单。所以我就不在这里啰嗦了。下面我来给大家
阅读全文
摘要:当原方法的实现和子方法相同,并且子方法进一步简化了原方法(执行步骤减少了,判断的次数减少了等),可以考虑使用递归处理问题1.使用递归实现斐波那契数列View Code 1 //使用递归实现斐波那契数列 2 import java.util.* ; 3 public class TestFibonacci 4 { 5 public static void main(String[] args) 6 { 7 Scanner input = new Scanner(System.in) ; 8 int count = 0 ; 9 int num...
阅读全文
摘要:主要类:View Code 1 //Book类 2 //每一本书为一个对象 3 public class Book 4 { 5 //数据 6 private String bookName ; 7 private String writer ; 8 private String bookRack ; 9 private String introduction ;10 11 //-------------------------------------------------------------------12 public Book(Str...
阅读全文
摘要:1 //利用FontMetrics类居中 2 import javax.swing.*; 3 import java.awt.*; 4 public class TestCenterMessage extends JFrame{ 5 public TestCenterMessage(){ 6 CenterMessage messagePanel = new CenterMessage(); 7 add(messagePanel); 8 messagePanel.setBackground(Color.WHITE); 9 messa...
阅读全文
摘要:练习1:View Code 1 1 import javax.swing.*; 2 2 import java.awt.*; 3 3 import java.awt.event.*; 4 4 public class MyWindowEvent 5 5 { 6 6 private Frame f; 7 7 private Button bt; 8 8 private TextField tf; 9 9 private TextArea ta;10 10 public MyWindowEvent()11 11 {12 12 i...
阅读全文
摘要:addKeyListenerpublic void addKeyListener(KeyListener l)添加指定的按键侦听器,以接收发自此组件的按键事件。如果 l 为 null,则不会抛出异常并且不执行动作。java.awt.event 接口 KeyListener用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)。然后使用组件的 addKeyListener 方法将从该类所创建的侦听器对象向该组件注册。按下、释放或键入键时生成键盘事件。然后调用侦听器对象中的相关方法并将该 KeyEv
阅读全文
摘要:addMouseListenerpublic void addMouseListener(MouseListener l)添加指定的鼠标侦听器,以接收发自此组件的鼠标事件。如果侦听器 l 为 null,则不会抛出异常并且不执行动作。java.awt.event 接口 MouseListener用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMotionListener。)旨在处理鼠标事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 MouseAdapter(仅重写所需的方法)。然后使用组件的 addMou
阅读全文
摘要:addActionListenerpublic void addActionListener(ActionListener l)添加指定的动作侦听器,以接收发自此按钮的动作事件。当用户在此按钮上按下或释放鼠标时,发生动作事件。如果 l 为 null,则不抛出任何异常,也不执行任何动作。java.awt.event 接口 ActionListener方法摘要 voidactionPerformed(ActionEvent e) 发生操作时调用。 ——摘自:JDK6API例子:使按钮具有关闭窗口的功能 1 import javax.swing.*; 2 import ja...
阅读全文
摘要:WindowAdapter类:1.接收窗口事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。2.扩展此类可创建 WindowEvent 侦听器并为所需事件重写该方法。(如果要实现 WindowListener 接口,则必须定义该接口内的所有方法。此抽象类将所有方法都定义为 null,所以只需针对关心的事件定义方法。)3.使用扩展的类可以创建侦听器对象,然后使用窗口的 addWindowListener 方法向该窗口注册侦听器。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。4
阅读全文
摘要:1 //设计图像图标 2 import javax.swing.*; 3 import java.awt.*; 4 public class TestImageIcon extends JFrame 5 { 6 private ImageIcon icon1 = new ImageIcon("ToolImages/20.gif");//"ToolImages/20.gif"为该project文件夹下的路劲 7 private ImageIcon icon2 = new ImageIcon("ToolImages/21.gif"); 8
阅读全文
摘要:1 import javax.swing.*; 2 import java.awt.*; 3 import javax.swing.border.*; 4 public class TestSwingCommonFeatures extends JFrame 5 { 6 public TestSwingCommonFeatures() 7 { 8 JPanel p1 = new JPanel(new FlowLayout(FlowLayout.LEFT,2,2));//创建一个面板,使用流布局 9 JButton jbtLeft = new J...
阅读全文
摘要:1 import java.awt.*; 2 public class GetLocalFontFamily 3 { 4 public static void main(String[] agrs) 5 { 6 //获取系统中可用的字体的名字 7 GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment(); 8 String[] fontName = e.getAvailableFontFamilyNames(); 9 for...
阅读全文
摘要:碰到的问题:有些时候,我们在写代码时,有些功能是重复使用的,或者说,不同的类中都有实现某一方法,这时,可以考虑“模板方法模式”,把需要的功能写成一个模板,把不同的部分在子类中覆盖掉就行了。//模板abstract class GetTime{ public final void getTime()//添加一个final,使得该方法不能在子类中被覆盖 { long start = System.currentTimeMillis(); runCode();//要实现的程序 long end = System.currentTimeMillis(); ...
阅读全文
摘要:转自:http://www.cnblogs.com/zxl-jay/archive/2011/09/24/2189740.html有所修改Java中在接口的应用中,要注意一下几点:<1>接口一般定义的是常量和一些抽象方法。抽象类中可以包含抽象方法,也可以有非抽象方法,但是有抽象方法的类一定是抽象类。抽象方法不能有方法体。<2>在引用接口时,接口的引用指向实现的对象,尽量定义为接口或父类的引用。这其中有可能用到多态的知识。引用接口用implements。<3>接口(interface)只能定义抽象方法而且默认为是Public。常量是public static
阅读全文
摘要:转自:http://www.cnblogs.com/cqkuangpeng/archive/2012/03/23/2414190.htmljava多态数据抽象、继承和多态是面向对象程序设计语言的三大特性。多态,我觉得它的作用就是用来将接口和实现分离开,改善代码的组织结构,增强代码的可读性。在某些很简单的情况下,或许我们不使用多态也能开发出满足我们需要的程序,但大多数情况,如果没有多态,就会觉得代码极其难以维护。在Java中,谈论多态就是在讨论方法调用的绑定,绑定就是将一个方法调用同一个方法主体关联起来。在C语言中,方法(在C中称为函数)的绑定是由编译器来实现的,在英文中称为early bind
阅读全文
摘要:今天对一个问题很纠结:import java.util.*;public class Test{ public static void main(String[] agrs){ Scanner input = new Scanner(System.in); String string = input.next(); System.out.println("输出一个字符串:"+string);}}为什么在使用BlueJ时,明明编译没有错误,就是不能在控制台那里输入一个字符串然后输出结果的?原来,问题是:使用控制台输入时,前提是控制台已经弹出来...
阅读全文