英文字母反转

该程序使用Java Swing创建了一个GUI,接收用户输入的小写英文句子,将每个字母旋转180度并进行倒序处理,从而实现英文语句的反转效果。通过监听键盘事件触发转换操作,利用定制的`convert_letter`方法找到对应旋转后的字母,然后使用字符串缓冲区进行字符交换完成反转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//改程序将英文小写字母转换成旋转180度的对应类似字符,并将其倒序,形成小写英文语句反转效果
package letter_counter;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.ArrayList;

import javax.swing.*;

public class letter_counter {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame=new JFrame(); 
		frame.setTitle("英文字母反转");
		frame.setSize(300, 150);
		frame.setVisible(true);
		frame.getContentPane().setLayout(null);
		frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
		JTextField comp=new JTextField();
		frame.add(comp);
		comp.setBounds(20, 20, 255, 30);
		JButton button=new JButton();
		frame.add(button);
		button.setBounds(200, 92, 74, 20);
        button.setFont(new Font("Simsun",0, 10));
		button.setText("convert");
		JTextField comp2=new JTextField();
		frame.add(comp2);
		comp2.setBounds(20, 55, 255, 30);
		button.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
                convert(comp,comp2);	
			}
			
		});
		comp.addKeyListener(new KeyListener(){
			@Override
			public void keyPressed(KeyEvent e) {
				// TODO Auto-generated method stub
				if (e.getKeyCode()==KeyEvent.VK_ENTER){
				      convert(comp,comp2);	
				}
			}

			@Override
			public void keyTyped(KeyEvent e) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void keyReleased(KeyEvent e) {
				// TODO Auto-generated method stub
				
			}
			
		});
		comp2.addKeyListener(new KeyListener(){
			@Override
			public void keyPressed(KeyEvent e) {
				// TODO Auto-generated method stub
				if (e.getKeyCode()==KeyEvent.VK_ENTER){
				      convert(comp2,comp);	
				}
			}

			@Override
			public void keyTyped(KeyEvent e) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void keyReleased(KeyEvent e) {
				// TODO Auto-generated method stub
				
			}
			
		});
	}
	static char convert_letter(char a) {
		char s1[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',',',' ','?','。','∼',',','/'
				,'I','A','E','H','M','O','X','Z','^','_','→'};
		char s2[]={'ɐ','q','ɔ','p','ǝ','ɟ','ƃ','ɥ','!','ɾ','ʞ','l','ɯ','u','o','d','b','ɹ','s','ʇ','n','ʌ','ʍ','x','ʎ','z','‘',' ','¿','°','∼','‘','\\'
				,'I','∀','∃','H','W','O','X','Z','v',' ̄','←'};
//		ArrayList user1=new ArrayList();
		if(find_index(s1, a)==-1&&find_index(s2, a)==-1)
			return a;
		else{
			if(find_index(s1, a)==-1)
				return s1[letter_counter.find_index(s2, a)];
			else
				return s2[letter_counter.find_index(s1, a)];
		}
		    
		
	}
	static int find_index(char s[],char a) {
		int i;
		for(i=0;i<s.length;i++){
			if(s[i]==a)
				break;
		}
		if(i==s.length)
			return -1;
		else
		    return i;
	}
	static void convert(JTextField comp,JTextField comp2) {
		StringBuffer input=new StringBuffer(comp.getText());
		for(int i=0;i<input.length();i++){
			input.setCharAt(i, convert_letter(input.charAt(i)));
		}
	//	char tmp;
		for (int i = 0; i <input.length()/2; ++i){
			char tmp= input.charAt(i);
			input.setCharAt(i, input.charAt(input.length()-i-1));
			input.setCharAt(input.length()-i-1,tmp);
		}
	comp2.setText(input.toString());
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值