Dee*_*pak 7 java arrays hashmap
我已经转换为Core Java中的Map问题.
以下是要求:
给定下面的String数组
String str[] = {"abc","123","def","456","ghi","789","lmn","101112","opq"};
Run Code Online (Sandbox Code Playgroud)
将其转换为Map,使得结果输出低于
产量
====== ====== key Value ====== ====== abc true 123 false def true 456 false
应该为数组中的每个元素打印上面的内容.我已经编写了代码,但它没有工作,我被卡住了.请让我知道如何解决.提前致谢.
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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
例外:
Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at CoversionToMap.main(CoversionToMap.java:22)
每个人都建议使用异常处理,这里没有什么特别要保证使用这样的例外情况,你不要尝试在你的车里左转,如果你崩溃了,你呢?这样的事情应该做到这一点
Map<String, Boolean> m = new HashMap<String, Boolean>();
for (String str: strs) {
m.put(str, isInteger(str));
}
public boolean isInteger(String str) {
int size = str.length();
for (int i = 0; i < size; i++) {
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return size > 0;
}
Run Code Online (Sandbox Code Playgroud)
捕获抛出异常更清晰,更有效,即使有99%的整数,因为甚至不需要整数值,因此不需要转换.
Integer.parseInt(..) 抛出无效输入的异常.
您的if子句应如下所示:
if (isNumber(str[i])) {
...
} else {
...
}
Run Code Online (Sandbox Code Playgroud)
哪里isNumber可以以多种方式实施.例如:
try { Integer.parseInt(..) } catch (NumberFormatException ex)(见这个相关的问题)NumberUtils.isNumber(..)| 归档时间: |
|
| 查看次数: |
33262 次 |
| 最近记录: |