小编cho*_*ope的帖子

如何在Lisp中读取用户输入

我对Lisp并不陌生,正在尝试编写一个程序,仅要求用户输入3个数字,然后对它们求和并打印输出。

我读到您可以使用类似的功能:

(defvar a)

(setq a (read))
Run Code Online (Sandbox Code Playgroud)

要在Lisp中设置变量,但是当我尝试使用LispWorks编译代码时,出现以下错误:

End of file while reading stream #<Concatenated Stream, Streams = ()>

我觉得这应该相对简单,不知道我要去哪里错。

lisp common-lisp lispworks

5
推荐指数
2
解决办法
7276
查看次数

用Java返回Map.Entry

这可能是一个愚蠢的问题,但是如何在Java中返回Map.Entry对?

给定类似的方法:

public Map.Value<K,V> next(){

  return ???
}
Run Code Online (Sandbox Code Playgroud)

如何建立并返回地图值?这是在我为哈希映射实现的迭代器内部。我没有任何问题可以获取要返回的值,但是Java不允许我实例化Map.Entry对象,除非我实现了所有抽象方法,即使这样也无法正常工作。我是否需要为Map.Entry构建一个构造函数,该构造函数可以传递我提取的K,V值?

任何帮助/指导非常感谢

更新

我正在尝试为自定义HashMap实现迭代器,并且需要实现next()方法-我的代码结构为:

@Override
 public Iterator<Map.Entry<K, V>> iterator() {
     return new Iterator<Map.Entry<K, V>>(){


        public boolean hasNext(){
                return false;
         }

         public Map.Entry<K,V> next(){
             Map.Entry<K, V> retVal = new Map.Entry<K, V>() {

                 public Map.Entry<K, V>(K key, V val){

                 }
                @Override
                public K getKey() {
                    // TODO Auto-generated method stub
                    return null;
                }

                @Override
                public V getValue() {
                    // TODO Auto-generated method stub
                    return null;
                }

                @Override
                public V setValue(V value) {
                    // TODO …
Run Code Online (Sandbox Code Playgroud)

java hashmap hashset

1
推荐指数
1
解决办法
4966
查看次数

标签 统计

common-lisp ×1

hashmap ×1

hashset ×1

java ×1

lisp ×1

lispworks ×1