zoukankan      html  css  js  c++  java
  • 接受用户输入的一个字符串和一个字符,把字符串中所有指定的字符删除后输出。

    题目:

      编写一个图形界面程序,接受用户输入的一个字符串和一个字符,把字符串中所有指定的字符删除后输出。(尽可能多的方法)   考核:1、学会使用Java API 文档 2、区分String、StringBuffer、StringBuilder类   递交资料:1、运行结果截图,能体现出用了几种方法 2、每种方法的代码截图 3、Java源文件

    直接代码:
    package demo1;
    
    import java.awt.BorderLayout;
    import java.awt.EventQueue;
    import java.awt.Font;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    
    
    import javax.swing.JTextField;
    import javax.swing.JLabel;
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.JTextArea;
    import javax.swing.JComboBox;
    
    public class frame03 extends JFrame {
    
        private JPanel contentPane;
        private JTextField textField;
        private JTextField textField_1;
        private JTextArea textArea;
        private JComboBox comboBox;
        
    
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        frame03 frame = new frame03();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the frame.
         */
        public frame03() {
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 100, 450, 300);
            contentPane = new JPanel();
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            setContentPane(contentPane);
            contentPane.setLayout(null);
            
            textField = new JTextField();
            textField.setBounds(137, 38, 152, 21);
            contentPane.add(textField);
            textField.setColumns(10);
            
            textField_1 = new JTextField();
            textField_1.setBounds(137, 71, 152, 21);
            contentPane.add(textField_1);
            textField_1.setColumns(10);
            
            textArea = new JTextArea();
            textArea.setBounds(48, 102, 378, 118);
            contentPane.add(textArea);
            textArea.setColumns(6);
            Font font=new Font("黑体",Font.PLAIN,10);
            textArea.setFont(font);
            
            
            JLabel lblNewLabel = new JLabel("u8F93u5165u5B57u7B26u4E32uFF1A");
            lblNewLabel.setBounds(60, 41, 81, 15);
            contentPane.add(lblNewLabel);
            
            JLabel lblNewLabel_1 = new JLabel("u8F93u51FAuFF1A");
            lblNewLabel_1.setBounds(10, 122, 58, 15);
            contentPane.add(lblNewLabel_1);
            
            JLabel lblNewLabel_1_1 = new JLabel("u8F93u5165u5B57u7B26uFF1A");
            lblNewLabel_1_1.setBounds(60, 74, 67, 15);
            contentPane.add(lblNewLabel_1_1);
            
            JButton btnNewButton = new JButton("u786Eu5B9A");
            btnNewButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    String string1=textField.getText();
                    StringBuffer string2= new StringBuffer(textField.getText());
                    StringBuilder string3=new StringBuilder(textField.getText());
                    
                    String sal0=textField_1.getText();
                    char[] sal1=textField_1.getText().toCharArray();
                    
                    //第一种:使用String将符合的字符找到并进行替换为""。
                    String resultString1=string1.replace(sal0, "");
                    textArea.setText("第一种:使用String将符合的字符找到并进行替换为:
    "+resultString1+'
    ');
                    
                    //第二种string将字符串转换为字符数组,匹配删去
                    int len=string1.length();
                    String resultString2="";
                    char[] textChar=string1.toCharArray();
                    for(int i=0;i<len;i++) {
                        if(textChar[i]==sal1[0])
                            continue;
                        else {
                            resultString2+=textChar[i];
                        }
                    }
                    textArea.append("第二种string将字符串转换为字符数组,匹配删去:
    "+resultString2+'
    ');
                    
                    //第三种:使用StringBuffer:
                    StringBuffer StringBuffer = new StringBuffer("");
                    for(int i=0;i<string2.length();i++) {
                        if(sal1[0]==string2.charAt(i))
                            continue;
                        else
                            StringBuffer.append(string2.charAt(i));
                    }
                    
                    String resultString3=StringBuffer.toString();
                    textArea.append("第三种:使用StringBuffer解决线程问题,并用charAt()方法寻找对应字符:
    "+resultString3+'
    ');
                    
                    //第四种:使用StringBuilder:循环删除字符,因为删除一个字符就会移位,所以要重新计算位置,也是最简单的方法:
                    
                    while(string3.indexOf(sal0)!=-1) {
                        string3=string3.deleteCharAt(string3.indexOf(sal0));
                    }
                    String resultString4=string3.toString();
                    textArea.append(resultString4+'
    ');
                    
                }
            });
            btnNewButton.setBounds(177, 230, 67, 23);
            contentPane.add(btnNewButton);
            
            comboBox = new JComboBox();
            comboBox.setBounds(392, 171, 34, 23);
            contentPane.add(comboBox);
            
            
        }
    }

    运行截图:

  • 相关阅读:
    将不确定变为确定~接口应该是什么
    架构,改善程序复用性的设计~目录(附核心原代码)
    php实战第二十五天
    java一道简单的括号匹配问题
    屈原坐上神十带来了iOS 7
    《别独自用餐》 警句摘录
    php实战第二十四天
    偷了世界的程序员
    变故
    “快排”笔记
  • 原文地址:https://www.cnblogs.com/instead-everyone/p/14600987.html
Copyright © 2011-2022 走看看