我对一些 Java 代码有一个澄清:
这些代码之间有什么区别,一个可以编译而另一个不能。
我对“如何修复错误”不感兴趣,因为我已经解决了它,但更多的是关于这个问题的解释:
在职的
public void x(){
HashMap<String , Integer> count= new HashMap<String, Integer>();
Scanner scan= new Scanner("hdsh");
String tmp;
while((tmp=scan.next())!=null){
if(count.containsKey(tmp)){
count.put(tmp, 1);
}
else{
count.put(tmp, count.get(tmp)+1);
}
tmp=scan.next();
}
}
不工作
public void x(){
HashMap<String , Integer> count= new HashMap<String, Integer>();
Scanner scan= new Scanner("hdsh");
while((String tmp=scan.next())!=null){
if(count.containsKey(tmp)){
count.put(tmp, 1);
}
else{
count.put(tmp, count.get(tmp)+1);
}
tmp=scan.next();
}
}
Eclipse的错误是:
此行有多个标记:
- 字符串无法解析为变量
- 标记“tmp”的语法错误,删除此标记
- 字符串无法解析为变量
- 标记“tmp”的语法错误,删除此标记