`

实例055 - 反转数组中元素顺序

 
阅读更多

实现思路:把数组最后一个元素与第一个元素互换,倒数第二个元素与第二个元素互换,依此类推,直到把所有数组元素反转替换。

import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.EmptyBorder;
import javax.swing.UIManager;
import javax.swing.JTextField;
import javax.swing.JLabel;

public class ReverseSort extends JFrame {
    
    private JPanel contentPane;
    
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        try {
            UIManager
                    .setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
        } catch (Throwable e) {
            e.printStackTrace();
        }
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    ReverseSort frame = new ReverseSort();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
    
    /**
     * Create the frame.
     */
    public ReverseSort() {
        setTitle("\u53CD\u8F6C\u6570\u7EC4\u4E2D\u5143\u7D20\u7684\u987A\u5E8F");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        GridBagLayout gbl_contentPane = new GridBagLayout();
        gbl_contentPane.columnWidths = new int[] { 0, 0 };
        gbl_contentPane.rowHeights = new int[] { 0, 0, 0, 0, 0, 0 };
        gbl_contentPane.columnWeights = new double[] { 1.0, Double.MIN_VALUE };
        gbl_contentPane.rowWeights = new double[] { 0.0, 0.0, 0.0, 1.0, 0.0,
                Double.MIN_VALUE };
        contentPane.setLayout(gbl_contentPane);
        
        label = new JLabel(
                "\u8F93\u5165\u6570\u7EC4\u5185\u5BB9\uFF0C\u4EE5\u7A7A\u683C\u5206\u9694\u6570\u7EC4\u5143\u7D20");
        GridBagConstraints gbc_label = new GridBagConstraints();
        gbc_label.anchor = GridBagConstraints.WEST;
        gbc_label.insets = new Insets(0, 0, 5, 0);
        gbc_label.gridx = 0;
        gbc_label.gridy = 0;
        contentPane.add(label, gbc_label);
        
        textField = new JTextField();
        GridBagConstraints gbc_textField = new GridBagConstraints();
        gbc_textField.fill = GridBagConstraints.HORIZONTAL;
        gbc_textField.insets = new Insets(0, 0, 5, 0);
        gbc_textField.gridx = 0;
        gbc_textField.gridy = 1;
        contentPane.add(textField, gbc_textField);
        
        label_1 = new JLabel("\u6570\u7EC4\u5143\u7D20\u53CD\u8F6C\uFF1A");
        GridBagConstraints gbc_label_1 = new GridBagConstraints();
        gbc_label_1.anchor = GridBagConstraints.WEST;
        gbc_label_1.insets = new Insets(0, 0, 5, 0);
        gbc_label_1.gridx = 0;
        gbc_label_1.gridy = 2;
        contentPane.add(label_1, gbc_label_1);
        
        JScrollPane scrollPane_1 = new JScrollPane();
        GridBagConstraints gbc_scrollPane_1 = new GridBagConstraints();
        gbc_scrollPane_1.insets = new Insets(0, 0, 5, 0);
        gbc_scrollPane_1.fill = GridBagConstraints.BOTH;
        gbc_scrollPane_1.gridx = 0;
        gbc_scrollPane_1.gridy = 3;
        contentPane.add(scrollPane_1, gbc_scrollPane_1);
        
        textArea = new JTextArea();
        scrollPane_1.setViewportView(textArea);
        
        JButton button_1 = new JButton("\u53CD\u8F6C\u6392\u5E8F\u6CD5");
        button_1.setActionCommand("\u5FEB\u901F\u6392\u5E8F\u6CD5");
        button_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                do_button_1_actionPerformed(e);
            }
        });
        GridBagConstraints gbc_button_1 = new GridBagConstraints();
        gbc_button_1.gridx = 0;
        gbc_button_1.gridy = 4;
        contentPane.add(button_1, gbc_button_1);
    }
    
    private JTextField textField;
    private JTextArea textArea;
    private JLabel label;
    private JLabel label_1;
    
    protected void do_button_1_actionPerformed(ActionEvent e) {
        String inText = textField.getText();// 获取用户输入
        String[] array = inText.split(" {1,}");
        int len = array.length;
        textArea.setText("");
        for (int i = 0; i < len / 2; i++) {
            String temp = array[i];
            array[i] = array[len - 1 - i];
            array[len - 1 - i] = temp;
            for (String string : array) {
                textArea.append(string + "  ");
            }
            textArea.append("\n");
        }
    }
    
}

 

 

  • 大小: 9.6 KB
分享到:
评论

相关推荐

    Java经典编程源码基础例程300.zip

    实例042 反转数组中元素的顺序 63 第6章 面向对象入门 65 实例043 自定义图书类 66 实例044 温度单位转换工具 67 实例045 成员变量的默认初始化值 68 实例046 单例模式的应用 69 实例047 汉诺塔问题求解 70 实例048 ...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例105 反转数组中元素的顺序 125 4.3 常用集合的使用 126 实例106 向班级集合中添加学生信息 126 实例107 使用哈希表对XML文件进行查询 127 实例108 计算两个矩形矩阵的乘积 129 第5章 面向对象编程技术 131 5.1 ...

    《C#经典编程220例》.(明日科技).【带书签】-共3部分

    实例052 反转数组中元素的顺序 84 实例053 使用希尔排序法对一维数组进行排序 85 实例054 向班级集合中添加学生信息 87 实例055 不改变长度删除数组中的元素 89 实例056 删除数组元素后改变其长度 90 第6章 c#面向...

    明日科技C#开发入门及项目实战

    实例052 反转数组中元素的顺序 实例053 使用希尔排序法对一维数组进行排序 实例054 向班级集合中添加学生信息 实例055 不改变长度删除数组中的元素 实例056 删除数组元素后改变其长度 第6章 c#面向对象程序设计 ...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例055 反转数组中元素的顺序 68 3.4 常用集合的使用 69 实例056 用动态数组保存学生姓名 69 实例057 用List集合传递学生信息 70 实例058 用TreeSet生成不重复自动排序 随机数组 71 实例059 Map映射集合实现省市级...

    原生JS实现列表子元素顺序反转的方法分析

    主要介绍了原生JS实现列表子元素顺序反转的方法,结合实例形式分析了javascript针对dom元素、数组reverse方法、innerHTML方法等列表元素顺序翻转相关操作技巧,需要的朋友可以参考下

    轻松学C#(图解版)

    6.5.8 反转一维数组中的元素顺序 110 6.5.9 为数组中的某个元素重新赋值 111 6.5.10 对数组元素进行重新排序 112 6.6 小结 112 6.7 习题 113 第7章 继承 115 7.1 C#的继承机制 115 7.1.1 概述 115 7.1.2 初识继承 ...

    黑马程序员入学测试题详解

    2、 编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。 3、 方法中的内部类能不能访问方法中的局部变量,为什么? 4、 定义一个交通灯枚举,...

    java常用工具类的使用

    DateFormat是一个抽象类,不能直接实例化,可以使用下表中的静态方法得到DateFormat的对象。 方法 说明 getDateInstance() 返回默认地区,默认格式的关于日期的DateFormat对象。 getDateInstance(int) 返回指定...

    Python Cookbook

    9.9 在Windows中探测另一个脚本实例的运行 359 9.10 使用MsgWaitForMultipleObjects处理Windows消息 360 9.11 用popen驱动外部进程 363 9.12 获取UNIX Shell命令的输出流和错误流 364 9.13 在UNIX中fork一个守护...

Global site tag (gtag.js) - Google Analytics