gpt4 book ai didi

java - 为什么 "while((String tmp=x))"不是有效的 Java 语法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:30:01 25 4
gpt4 key购买 nike

我要澄清一些 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的错误是:

此行有多个标记:

  • 字符串无法解析为变量
  • token “tmp”的语法错误,删除此 token
  • 字符串无法解析为变量
  • token “tmp”的语法错误,删除此 token

最佳答案

您不能在表达式中声明变量。 (for 循环的第一部分除外)

关于java - 为什么 "while((String tmp=x))"不是有效的 Java 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12133655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com