【发布时间】:2011-11-27 16:33:01
【问题描述】:
我在 Core Java 中有转换为 Map 的问题。
以下是要求:
下面给定一个字符串数组
String str[] = {"abc","123","def","456","ghi","789","lmn","101112","opq"};
将其转换为 Map 以使结果输出低于
输出
====== ====== 核心价值 ====== ====== abc 真 123 错误 默认为真 456 错误
应该为数组中的每个元素打印上述内容。我已经编写了代码,但它不工作,我被卡住了。请让我知道如何解决。提前致谢。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class CoversionToMap {
/**
* @param args
*/
public static void main(String[] args) {
String str[] = {"abc","123","def","456","ghi","789","lmn","101112","opq"};
Map m = new HashMap();
for(int i=0;i<str.length;i++){
if(Integer.parseInt(str[i]) < 0){
m.put(str[i],true);
}else{
m.put(str[i],false);
}
}
//Print the map values finally
printMap(m);
}
public static void printMap(Map mp) {
Iterator it = mp.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
System.out.println(pairs.getKey() + " = " + pairs.getValue());
}
}
}
例外:
线程“main”中的异常 java.lang.NumberFormatException:对于输入字符串:“abc” 在 java.lang.NumberFormatException.forInputString(未知来源) 在 java.lang.Integer.parseInt(未知来源) 在 java.lang.Integer.parseInt(未知来源) 在 CoversionToMap.main(CoversionToMap.java:22)【问题讨论】:
-
你有输出吗?你有错误吗?
-
更新了@talnicolas,伙计们我真的被困住了,没有任何帮助。我终于来到这里需要你的帮助。
-
数字只需要与 false 相关联还是只是一个交替的东西?
-
看一下 Integer.parseInt 的 javadoc 怎么样?如果每个非数字字符串在解析时都给出负数,你将如何解析负数?见download.oracle.com/javase/6/docs/api/java/lang/…。标准 API 中有数千种方法。您将无法猜测他们每个人的作用。阅读他们的文档是了解他们做什么以及如何工作的方式。
-
字母为真,数字为假;