小编Rog*_*ews的帖子

Java中的FIFO类

我想通过Java中的类实现FIFO.

这样的课程已经存在吗?如果没有,我该如何实现自己的?

注意

我在这里找到了一个类http://www.dcache.org/manuals/cells/docs/api/dmg/util/Fifo.html,但它不包含dmg.util.*.我不知道这样的包装是否存在.

java fifo

59
推荐指数
2
解决办法
14万
查看次数

Haskell中的const函数

该功能const在Prelude中定义为:

const x _ = x
Run Code Online (Sandbox Code Playgroud)

在GHCi,当我尝试

Prelude> const 6 5  -> Gives 6
Run Code Online (Sandbox Code Playgroud)

但是当我尝试的时候

Prelude> const id 6 5 -> Gives 5
Run Code Online (Sandbox Code Playgroud)

即使在做出改变之后

Prelude> (const id 6) 5 -> Gives 5
Run Code Online (Sandbox Code Playgroud)

这个函数不应该给出函数6的输出idid :: a -> a应该绑定的类型

Prelude> (const 6) 5 -> Gives 6
Run Code Online (Sandbox Code Playgroud)

为什么函数const表现不同?

haskell

26
推荐指数
3
解决办法
6438
查看次数

在Java中使用Enum的泛型

我有一个枚举

public enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY 
Run Code Online (Sandbox Code Playgroud)

}

我想创建一个可以获取类型为days的值的类.所以我使用了Java Generics

public class State<T extend Days>
Run Code Online (Sandbox Code Playgroud)

但是有一个错误

The type parameter T should not be bounded by the final type Days. 
Final types cannot be further extended
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

java generics enums

16
推荐指数
4
解决办法
9264
查看次数

如何在Haskell中正确打印换行符?

我试图为月度教程制作Tic Tac Toe游戏并编写此代码以首先制作一个盒子:

box :: [String]
box = ["0 | 1 | 2",
       "---------",
       "3 | 4 | 5",
       "---------",
       "6 | 7 | 8"]
Run Code Online (Sandbox Code Playgroud)

我在GHCi中获得此输出:

["0 | 1 | 2\n","---------\n","3 | 4 | 5\n","---------\n","6 | 7 | 8\n"]
Run Code Online (Sandbox Code Playgroud)

我想得到:

 0 | 1 | 2
 ---------
 3 | 4 | 5
 ---------
 6 | 7 | 8
Run Code Online (Sandbox Code Playgroud)

我该如何打印这样的网格?

haskell

13
推荐指数
2
解决办法
9364
查看次数

将异常写入文件

我创建的java项目将测试1800个案例,每个案例的输出必须与黄金(所需)输出相匹配.我为此创建了一个perl脚本并在cygwin上运行它.

有一些情况会抛出异常,但它们被错误地认为是正确的.我想在java代码中添加一个try catch块,这样如果抛出任何异常,就会捕获它并在文件上打印堆栈跟踪exception.txt.

Pseudo Java code:
main()
{
    try
    {
       ... //complete code of main()
    }
    catch (Exception e)
    {
         FileWriter fstream=new FileWriter("exception.txt");
         BufferedWriter out=new BufferedWriter(fstream);
         out.write(e.toString());
         out.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这会覆盖以前的文件内容,最后文件包含最后抛出的异常.如何编写catch块以便打印stackTrace并且文件内容完好无损且每次都不会被覆盖.

java exception-handling

13
推荐指数
4
解决办法
3万
查看次数

如何将String转换为Haskell中的整数列表

String喜欢"1 2 3 4 5".如何将其转换为[1,2,3,4,5]Haskell 中的整数列表?如果清单"12345"怎么办?

string haskell list

8
推荐指数
2
解决办法
1万
查看次数

Java中的接口数组

我有一个界面.

public interface Module {
        void init();
        void actions();
}
Run Code Online (Sandbox Code Playgroud)

当我尝试创建这样的数组时会发生什么?

Module[] instances = new Module[20]
Run Code Online (Sandbox Code Playgroud)

我该如何实现这个数组?

java arrays interface

8
推荐指数
2
解决办法
3万
查看次数

C中%04X的含义以及如何在java中编写相同内容

在我正在研究的java项目中,项目的某些部分之前由C中的其他人编写,现在我需要在Java中编写相同的内容.

C代码中有一个用于打印到文件的语句:

fprintf(ff, "%04X ", image[y*width+x]);
Run Code Online (Sandbox Code Playgroud)

首先,我不确定的含义%04X.我认为这意味着如果image[i]长度为五或更长,则只打印最左边的四个字符.为了在Java中做同样的事情,我想到了使用and操作来掩盖值

 image[i] & 0xFFFF
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我正确的含义%04X以及如何在Java中做同样的事情吗?谢谢.

c java

8
推荐指数
2
解决办法
2万
查看次数

在Haskell中将Maybe Int转换为Int

我正在处理以下代码,并希望在框字符串中找到数字的索引.所以我使用了findIndex,但它返回了Maybe Int值,而我只想要Int值.

我如何将Maybe Int转换为Int值,或者有什么方法可以从Maybe Int中提取Int.如果Maybe Int不存在,代码应该输出错误消息

box:: String
box = unlines $ ["0 | 1 | 2",
                 "---------",
                 "3 | 4 | 5",
                 "---------",
                 "6 | 7 | 8"]

moves = do
        putStrLn " Enter the number"
        number <- readLn :: IO Int
        print number
        findpostion number box

findposition number box = findIndex (==number) box
Run Code Online (Sandbox Code Playgroud)

haskell

7
推荐指数
2
解决办法
2万
查看次数

在Haskell中实现函数重载

我正在研究编写类似于C++程序的Haskell代码的问题.

C++代码是:

class Rectangle
{
    private:
        int length;
        int width;
    public:
        Rectangle()
        {
            length = 0;
            width = 0;
        }
        Rectangle(int x)
        {
            length = x;
            width =0;
        }
        Rectangle ( int x , int y)
        {
            length = x;
            width = y;
        }
};
Run Code Online (Sandbox Code Playgroud)

为了编写类似的Haskell代码,我创建了一个数据类型Rectangle

data Rectangle = Rectangle Length Width deriving (Eq, Show , Read)
type Length = Int
type Width = Int
Run Code Online (Sandbox Code Playgroud)

然后我想到了一个可以作为构造函数的加载函数.但我不明白如何使用不同数量的参数实现函数重载.请帮忙.谢谢.

haskell

6
推荐指数
2
解决办法
3640
查看次数

标签 统计

haskell ×5

java ×5

arrays ×1

c ×1

enums ×1

exception-handling ×1

fifo ×1

generics ×1

interface ×1

list ×1

string ×1