黑马程序员技术交流社区
标题:
把1,2,3转换为1壹 2贰 3叁
[打印本页]
作者:
pengyuming
时间:
2014-4-20 23:12
标题:
把1,2,3转换为1壹 2贰 3叁
本帖最后由 pengyuming 于 2014-4-23 19:06 编辑
这道题我的思路是遇到“1”就把“1”换成“1壹” 遇到“2”就换成“2贰”,但是这样中间就会多了都好,我只能把代码写成这样
int i, j = 0;
string value = "1,2,3";
string[] num = value.Split(',');
if (num.Contains("1"))
{
value = value.Replace("1,", "1壹 ");
}
if (num.Contains("2"))
{
value = value.Replace("2,", "2贰 ");
}
if (num.Contains("2"))
{
value = value.Replace("3", "3叁 ");
}
Console.WriteLine(value);
复制代码
但是如果这样这套代码的移置性不是很好,各位是否有更好的方法??
作者:
hhmm665544
时间:
2014-4-21 01:28
猜测楼主的意思大概是这样的吧
package com.itheima;
public class Demo1 {
private final static String[] STR_NUMBER = { "0零", "1壹", "2贰", "3叁", "4肆", "5伍",
"6陆", "7柒", "8捌", "9玖" }; // 大写数字
public static void main(String[] args) {
// TODO Auto-generated method stub
String value = "1,2,3";
StringBuilder sb = new StringBuilder();
String[] nums = value.split(",");
for(String num:nums){
sb.append(STR_NUMBER[Integer.parseInt(num)]);
}
System.out.println(sb);
}
}
复制代码
作者:
主角
时间:
2014-4-21 16:06
用Dictionary数组应该可以简化你的代码并且性能也会提升很多。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2