很简单的map的取值的问题。。。错误找不出来

package com.sxt.test0;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class Test0 {
public static void main(String[] args) {

    Map<Integer, String> map = new HashMap<>();
        map.put(1,"a");
        map.put(2,"b");
        map.put(3,"c");
    Iterator<Map.Entry<Integer,String>> it=map.entrySet().iterator();
     while(it.hasNext()){
            Map.Entry<Integer,String> entry=it.next(); 
            System.out.print("key值为:"+entry.getKey()+","+"value值为:"+entry.getValue());
            }  
    }
}

图片说明

 真是不知道错在哪里?一直说是少;号要不是少{},但是检查了好几次都没有问题啊

图片说明
我把你的代码拷了过来(下面的while语句),我自己写的是上面的while语句,我猜可能你的while语句是从别的地方拷过来的,编码上可能有问题,建议重新手动敲一下while(it.hasNext()) {} 就行了

iteratorit=map.keyset().iterator();
while(it.hasnext()){
integer. key=it.next();
string. value=map.get(key);
}