黑马程序员技术交流社区
标题:
求帮忙
[打印本页]
作者:
呆呆呆
时间:
2013-12-23 22:31
标题:
求帮忙
本帖最后由 呆呆呆 于 2013-12-24 12:11 编辑
import java.io.*;
import java.util.*;
public class Demo {
public static void main(String[] args)throws IOException
{
InputStream in = System.in;
StringBuilder sb = new StringBuilder();
HashMap<String,String> map = new HashMap<String,String>();
map.put("0","零");
map.put("1","一");
map.put("2","二");
map.put("3","三");
map.put("4","四");
map.put("5","五");
map.put("6","六");
map.put("7","七");
map.put("8","八");
map.put("9","九");
String line = null;
while (true)
{
int ch = in.read();
if(ch=='\r')
continue;
if(ch=='\n')
{
String s = sb.toString();
if("over".equals(s))
break;
System.out.println(map.get(map.get(s));//这里有问题,输入2可以返回二,输入213就返回null。求助啊,用switch好像也是这个问题
sb.delete(0,sb.length());
}
else
sb.append((char)ch);
}
}
}
复制代码
作者:
为我想要的去努
时间:
2013-12-23 22:50
package com.itheima;
import java.io.*;
import java.util.*;
public class Test {
public static void main(String[] args) throws IOException {
InputStream in = System.in;
StringBuilder sb = new StringBuilder();
HashMap<String, String> map = new HashMap<String, String>();
map.put("0", "零");
map.put("1", "一");
map.put("2", "二");
map.put("3", "三");
map.put("4", "四");
map.put("5", "五");
map.put("6", "六");
map.put("7", "七");
map.put("8", "八");
map.put("9", "九");
String line = null;
while (true) {
int ch = in.read();
if (ch == '\r')
continue;
if (ch == '\n') {
String s = sb.toString();
if ("over".equals(s))
break;
char[]c = s.toCharArray();
for (int i = 0; i < c.length; i++) {
System.out.println(map.get(String.valueOf(c[i])));//问题解决
}
// 这里有问题,输入2可以返回二,输入213就返回null。求助啊,用switch好像也是这个问题
sb.delete(0, sb.length());
} else{
sb.append((char) ch);
}
}
}
}
作者:
为我想要的去努
时间:
2013-12-23 22:53
追答:
lz你只需要把String s 在转换成数组,然后循环输出就行了
作者:
呆呆呆
时间:
2013-12-23 23:47
为我想要的去努 发表于 2013-12-23 22:53
追答:
lz你只需要把String s 在转换成数组,然后循环输出就行了
非常感谢,你会有技术分的!哈哈
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2