`

实例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
分享到:
评论

相关推荐

    PHP经典实例--数组

    4. 数组反转:使用array_reverse()函数可以反转数组的顺序: ```php $reversedArray = array_reverse($array); ``` 5. 数组排序:PHP提供了多种排序函数,如: - asort():按值升序排序关联数组并保持键的关联。 ...

    C#程序设计-3期(KC008) KC008110200013_如何反转数组中元素的顺序.docx

    然后,通过`Array.Reverse(myArray)`调用Reverse方法来反转数组元素的顺序。在反转前和反转后,我们都遍历数组并将其元素连接成字符串以显示效果。最后,通过一个消息框展示反转前后的数组顺序。 这个例子清楚地...

    Java 实例 - 数组反转源代码-详细教程.zip

    本详细教程将深入探讨如何在Java中反转数组,通过源代码实例帮助你理解和掌握这一技能。 首先,数组反转的基本思想是交换数组的首尾元素,然后逐步向中间移动,直到整个数组的前后元素位置互换。这可以通过两种主要...

    java实例-数组(学习资料)

    我们还可以看到其他与数组相关的操作,如获取数组长度(通过`array.length`),数组反转,数组输出,获取数组的最大值和最小值,数组合并,数组填充,数组扩容,删除数组元素,数组差集,数组交集,以及在数组中查找...

    C#教学课件:第4章 数组.ppt

    - `Sort()`方法用于对数组进行升序排序,`Reverse()`方法用于反转数组元素顺序。 - 复制数组有多种方法,例如使用`Array.Copy()`或`Buffer.BlockCopy()`函数。 - 动态数组(如ArrayList或List)支持动态添加、...

    Java 实例 - 集合反转源代码-详细教程.zip

    反转操作在多种场景下都很有用,如实现堆栈(LIFO,后进先出)的行为,反转数组,或者在某些算法(如快速排序、归并排序)中改变元素顺序。 8. **注意事项**: - 反转操作不会改变原始集合的引用,而是就地反转...

    Java数组反转技巧:保持元素原始类型与代码实现

    在Java编程中,数组反转是一个基本且常见的操作,它要求我们在反转数组顺序的同时,保持数组元素的原始数据类型,即基本数据类型(如int, double等),而非它们的封装类型(如Integer, Double等)。为什么要保持原始...

    Java命令式编程:数组反转技术与实践

    数组反转意味着要将数组中的元素顺序颠倒,使得数组的第一个元素变成最后一个,最后一个元素变成第一个。这在处理数据时是一个常见的需求。 在Java中,数组反转可以通过多种方法实现,包括使用内置函数如`...

    Java中数组反转与多线程应用深度解析

    具体来说,就是创建一个新的数组,然后在遍历原数组的过程中,把原数组的元素顺序颠倒后存放到新数组中。另一种常见的方法是通过交换数组元素的位置来实现反转,这通常通过双指针技术来完成,一个指针从数组的开始...

    检测数组反转状态:策略、代码实现与案例分析

    在编程领域,数组反转是一个基本操作,涉及到将数组中的元素顺序颠倒。在一些特定的场景下,可能需要验证数组是否已经被反转,例如在算法调试或验证程序逻辑的过程中。本文将深入探讨检查数组是否被反转的多种策略、...

    js代码-vue 数组变化侦测 1

    7. `array.reverse()`:反转数组中的元素。由于这个操作改变了数组的元素顺序,Vue会捕获这个变化。 8. `array.sort(compareFn)`:对数组进行排序。如果提供了compareFn,排序将是稳定的;如果没有提供,数组将按...

    Javascript数组操作整理.rar

    - `reverse()`:反转数组中的元素顺序。 - `sort()`:对数组的元素进行排序。默认按字母顺序。 7. 查找数组元素: - `indexOf()`:查找指定元素在数组中的位置,返回索引,找不到则返回-1。 - `lastIndexOf()`...

    探索Java数组反转与匿名内部类的应用

    在Java编程中,数组反转是一个基础而常见的操作,它要求开发者将数组中的元素顺序颠倒,使第一个元素变成最后一个,最后一个元素变成第一个。尽管数组反转可以通过多种方式实现,例如手动交换元素、使用Java集合框架...

    Java实现数组反转翻转的方法实例

    在Java编程中,数组反转是一种常见的操作,它涉及到将数组中的元素顺序颠倒,使得原数组的第一个元素变为最后一个,最后一个元素变为第一个。在上述文章中,提到了三种不同的方法来实现Java数组的反转翻转。 **方法...

    《物联网C#程序开发案例式教程》教学课件-第五章-数组与集合04 c#经典案例.pptx

    - `Reverse()`:反转集合中元素的顺序。 4. **遍历ArrayList**: - 可以通过索引访问元素,如`for`循环或`Console.WriteLine(s[i])`。 - 使用`foreach`循环遍历集合,如`foreach (string s in scores) {...}`。 ...

    JavaScript数组.pdf

    .sort()方法对数组的元素进行排序,.reverse()方法可以将数组元素顺序反转。 ```javascript colors.sort(); colors.reverse(); ``` 12. 多维数组 JavaScript数组可以是多维的,即数组的元素本身可以是数组。 ```...

    JavaScript学习笔记整理之引用类型

    - `reverse()`反转数组元素顺序 - `sort()`对数组进行排序,但默认按字符串排序。若要按数字排序,需提供比较函数,如: ```javascript var values = [1, 10, 2]; values.sort(function(a, b) { return a - b;...

    全国计算机二级C语言程序设计讲义一维数组和二维数组PPT教案学习.pptx

    - 示例6.2演示了如何反转一个数组的元素顺序,通过交换数组的两端元素实现。 七、二维数组: 二维数组可以视为一维数组的数组,它可以用来模拟矩阵或表格数据。虽然在提供的内容中没有详细讨论二维数组,但在C语言...

    C#数组反转与排序实例分析

    数组反转是将数组中的元素顺序颠倒,例如,原数组[1, 2, 3, 4, 5]反转后变成[5, 4, 3, 2, 1]。在C#中,我们可以使用循环来实现这个功能。示例代码中,我们定义了一个字符串数组`strAllay`,然后通过一个for循环来...

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

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

Global site tag (gtag.js) - Google Analytics