Unicode是一种字符编码,它可以显示各国语言的各种文字,标点,制表符等所有字符,也是现今最通用的字节编码系统。

本例子将在界面中 实现字符和Unicode码互换,代码如下:

package mytest;import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;public class Example extends JFrame {private JPanel contentPane;private JTextField charInputField;private JTextField codeOutputField;private JFormattedTextField codeInputField;private JTextField charOutputField;public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {Example frame = new Example();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}//Create the frame.public Example() {setTitle("\u5B57\u7B26\u4E0E\u7F16\u7801\u8F6C\u6362");//字符与编码转换setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 171);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));contentPane.setLayout(new BorderLayout(0, 0));setContentPane(contentPane);JPanel panel = new JPanel();panel.setBorder(new TitledBorder(null,"\u5B57\u7B26\u4E0EUnicode\u7801\u8F6C\u6362",TitledBorder.LEADING, TitledBorder.TOP, null, new Color(59, 59,59)));contentPane.add(panel, BorderLayout.CENTER);panel.setLayout(new GridLayout(0, 3, 5, 20));charInputField = new JTextField();panel.add(charInputField);charInputField.setColumns(10);JButton codeButton = new JButton("\u8F6C\u6362\u4E3AUnicode\u7801");//转换为Unicode码codeButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {do_codeButton_actionPerformed(e);}});panel.add(codeButton);codeOutputField = new JTextField();codeOutputField.setEditable(false);panel.add(codeOutputField);codeOutputField.setColumns(10);codeInputField = new JFormattedTextField(NumberFormat.getIntegerInstance());panel.add(codeInputField);codeInputField.setColumns(10);JButton charButton = new JButton("\u8F6C\u6362\u4E3A\u5B57\u7B26");charButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {do_charButton_actionPerformed(e);}});panel.add(charButton);charOutputField = new JTextField();charOutputField.setEditable(false);panel.add(charOutputField);charOutputField.setColumns(10);}protected void do_codeButton_actionPerformed(ActionEvent e) {String text = charInputField.getText();// 获取用户输入的字符串char[] charArray = text.toCharArray();// 获取字符串的字符数组StringBuilder builder = new StringBuilder();// 创建字符串构建器for (char c : charArray) {// 遍历字符数组builder.append((int) c + " ");// 连接各字符的编码}codeOutputField.setText(builder.toString());// 结果输出到文本框}protected void do_charButton_actionPerformed(ActionEvent e) {Number value = (Number) codeInputField.getValue();// 获取用户输入Unicode编码long code = value.longValue();// 取输入数字的Long类型值charOutputField.setText(((char) code) + "");// 输出编码到文本框}
}

执行结果如下图:

实现字符和Unicode码互换 (Java经典编程案例)相关推荐

  1. 统计字母、空格、数字和其它字符个数 (Java经典编程案例)

    题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 思路分析: 利用while语句,条件为输入的字符不为 '\n '. 代码如下: package mytest;import j ...

  2. 为新员工分配部门 (Java经典编程案例)

    本例子需要根据用户输入的信息进行多条件判断,所以采用了switch语句. /*** 为新员工分配部门*/ public class Example {public static void main(S ...

  3. 用switch语句根据消费金额计算折扣 (Java经典编程案例)

    本例子用switch语句计算累计金额达到一定数额时,将享受不同的折扣价格.比如,消费满200会打折,200到400元,打9.5折:400到600元,打9折:600到800元,打8.5折:800到100 ...

  4. 用java语言实现汉诺塔问题 (Java经典编程案例)

    用递归实现汉诺塔问题,代码如下: import java.util.Scanner;/*** 汉诺塔问题*/ public class Example {public static void move ...

  5. java面试:输出学生的成绩 (Java经典编程案例)

    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 思路分析: 利用(a>b)?a:b条件运算符来处理. 代码如下: ...

  6. 重定向输出流实现程序日志 (Java经典编程案例)

    System类中的out成员变量是Java的标准输出流,程序常用它来输出调试信息.out成员变量被定义为final类型的,无法直接重新复制,但是可以通过setOut()方法来设置新的输出流. 本实例利 ...

  7. 输入三个整数x,y,z,请把这三个数由小到大输出 (Java经典编程案例)

    题目:输入三个整数x,y,z,请把这三个数由小到大输出. 思路分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交换,然后再用x与z进行比较,如果x> ...

  8. java面试:冒泡排序详解 (Java经典编程案例)

    java语言实现冒泡排序: package mytest;public class MyTest {public static void main(String[] args) {int[] a={8 ...

  9. 实现字符串大小写的转换 (Java经典编程案例)

    创建窗体,实现将字符串中的字母全部转换为大写或者小写,代码如下: import java.awt.EventQueue; import java.awt.event.ActionEvent; impo ...

最新文章

  1. 面试题;40个多线程的问题 背1 有用
  2. 前后端完全分离出现跨域、无法访问后台解决方案
  3. 【python数据挖掘课程】十.Pandas、Matplotlib、PCA绘图实用代码补充
  4. esxi存储(外部共享存储)- Open FIle
  5. 技术人员如何创业《一》- 产品及想法
  6. TensorFlow可以“预装”数据集了,新功能Datasets出炉
  7. spingMVC问题小结
  8. ACL 2019 | 清华与华为提出ERNIE:知识图谱结合BERT才是「有文化」的语言模型
  9. iphone编程,使用代码结束程序
  10. unity 引用using 空间 变量声明
  11. 怎样卸载干净Oracle
  12. 平均随机一致性指标表MATLAB,AHP法中平均随机一致性指标的算法及MATLAB实现.pdf...
  13. ac6005直连ap 如何配置_邀请实测搭档 完成AC+瘦AP经典组网_华为 AC6005_网络设备-中关村在线...
  14. Nginx Proxy Cache原理和最佳实践
  15. ACM中的数学问题合集
  16. 机械键盘上的ASF是什么意思?
  17. 充电器用着用着就松了怎么办_充电接口松动及插不紧的解决方法,看完你就知道了...
  18. c语言求根公式编程,c语言,求根公式
  19. Mathworks MATLAB for Mac (强大的商业数学软件) v9.11
  20. 【蜂言蜂语】何以解忧?唯有暴富~

热门文章

  1. Eclipse---Refreshing /.org.eclipse.jdt.core.external.folders/.link0
  2. C语言里的和*的简单作用理解
  3. OOM系列之一:java.lang.OutOfMemoryError: Java堆空间问题详解
  4. 2022-2028全球与中国多功能烤箱市场现状及未来发展趋势
  5. 码农翻身讲网络2:TCP协议
  6. PayPal----订单支付
  7. 360提示证书风险问题
  8. Signal SIGILL: illegal instruction operand
  9. linux环境怎么更新离线rpm包,SUSE Linux 11系统rpm包离线安装GCC
  10. Tomcat7 部署CGI程序