题目
将键盘上输入的字符串读到数组中,再在屏幕上逆序输出。
程序流程图
参考代码
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.nio.charset.StandardCharsets;
public class CharacterString extends JFrame {
private JTextField jTextField1;
private JTextField jTextField2;
private JButton jButton;
public CharacterString() throws HeadlessException {
init();
}
private void init() {
jTextField1 = new JTextField(20);
jTextField2 = new JTextField(20);
jTextField2.setEnabled(false);
jButton = new JButton("逆序");
setLayout(new GridLayout(3,1));
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
jPanel1.add(new JLabel("字符串"));
jPanel2.add(new JLabel("逆序后"));
jPanel1.add(jTextField1);
jPanel2.add(jTextField2);
add(jPanel1);
add(jPanel2);
add(jButton);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(300,200);
setVisible(true);
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
byte[] str = jTextField1.getText().getBytes(StandardCharsets.UTF_8);
for (int i = 0, j = str.length-1; i < j; i++, j--) {
byte b = str[i];
str[i] = str[j];
str[j] = b;
}
jTextField2.setText(new String(str));
}
});
}
public static void main(String[] args) {
new CharacterString();
}
}
运行结果
说明
个人能力有限,仅供参考,共同学习!