㈠ java编程 数字转换成汉字
我自己写的,匆忙写的。我有时间再改进改进。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Stack;
/*
* 本程序
*/
public class Transfer {
public Stack<Integer> transfer(int n){
Stack<Integer> st = new Stack<Integer>();
int division = 0; //余数
while(n>=10){
division = n%10;
st.push(division);
n = n/10;
}
st.push(n); //将最高位压栈
return st;
}
public static void main(String[]args){
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String in = "";
try {
in = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
int n = 0;
try{
n = Integer.parseInt(in);
} catch(NumberFormatException e){
e.printStackTrace();
}
Transfer tf = new Transfer();
Stack<Integer> s = tf.transfer(n);
/*
while(!s.empty()){
System.out.print(s.pop()); //测试语句
}
*/
HashMap<Integer, String> hp1 = new HashMap<Integer, String>(); //第一个映射表
hp1.put(0, "零"); //根据所在位的数值与中文对应
hp1.put(1, "一");
hp1.put(2, "二");
hp1.put(3, "三");
hp1.put(4, "四");
hp1.put(5, "五");
hp1.put(6, "六");
hp1.put(7, "七");
hp1.put(8, "八");
hp1.put(9, "九");
HashMap<Integer, String> hp2 = new HashMap<Integer, String>(); //第二个映射表
hp2.put(2, "十"); //根据所在位数,与中文对应
hp2.put(3, "百");
hp2.put(4, "千");
hp2.put(5, "万");
hp2.put(6, "十万");
hp2.put(7, "百万");
hp2.put(8, "千万");
hp2.put(9, "亿");
//System.out.println(s.size());
String out = "";
while(!s.isEmpty()){
int temp = s.pop();
if(s.size()==0){
if(temp !=0){
out = out + hp1.get(temp);
}
}
else{
if(temp==0){
out = out + hp1.get(temp);
}
else{
out = out + hp1.get(temp) + hp2.get(s.size()+1);
}
}
}
System.out.println(out);
}
}
对于如2008之类的数,输出的是二千零零八,还需要加以判断,我再去处理下。
还有涉及万以上的数,比如
123456
输出的是一十万二万三千四百五十六,也必须增加判断。
㈡ 编程时怎样把计算机里面的0和1编写成文字.
把计算机中的0、1变成文字是用计算机里面的字库完成的,要让计算机认识并显示字符首先需要解决的是如何让计算机认识。在计算机里面都有相对的字库。如现在比较流行的是ASCII码,象一个字符A在计算机中可以给它一个编码如000000001一个字母占一个字节,当你按键后计算机在字库中找,找到后就显示相关的字符。显示是通过点阵来显示的。汉字有点麻烦,不过方法和字母的大概相同,也是通过字库来解决的,将用到的汉字编号,然后显示。不同的是汉字多而字母少,一个汉字的编码是占两个字节,如“我”的编码就可以是00000000 00000001。当然编码不一定就是这个了,举个例子嘛。
学习编程,你可以从Basic入手,也可以从 C语言入手。甚至直接从Java入手都可以。但需要注意的是,在学习编程的时候千万不要眼高手底,从最基础开始。同时要学习相关的数据结构。然后就可以找些题目来作,你可以先从数据结构里面的题目入手。如100的阶乘、链表的操作、二叉树的遍历等问题等。完成了以上问题后基本上对编程就有了概念,这时候在开始学习一些可视化编程工具,如VB、VC等,你可以参照别人已经编写好的程序开始学习一些如俄罗斯方块、连连看等游戏了,等你到这个地步后就要看你个人的发展了。可以向算法设计、数据库编程、网络编程等方向。然后就要看你的努力程度和天赋了。。总之一口吃不成胖子,先从基础开始。如果真想学就早点开始,一步一步的来,千万不要乱听别人说这好那好。今天看看VB明天看看Delphi。记住编程一定是从顺序、循环、条件三种语句开始的。
㈢ 编程中,如何将拼音转换成文字
在ios开发中经常碰到做通讯录需要将汉字转成拼音的情况,以下就是我把汉字转成拼音的方法。
把代码给你贴出来!
+ (NSString *)transform:(NSString *)chinese
{
NSMutableString *pinyin = [chinese mutableCopy];
CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, , NO);
CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, , NO);
NSLog(@"%@", pinyin);
return [pinyin uppercaseString];
}