小编its*_*ieb的帖子

for循环如何检查Java中的条件?

我的问题是关于在哪些Java检查的条件for循环时,有一个print语句的顺序做该循环的"条件".这似乎是一个不切实际的事情(我还没有见过它在任何实际的方式使用),但我缺乏的是什么印有理解我想,我可能不完全了解一个for循环的功能.最近的一次考试出现了以下问题:

使用n = 5的输入打印以下方法是什么?

public static void mystery(int n) {
    for (int i = -1; i < n; System.out.print(i + " ")) {
         i++;
    }
}
Run Code Online (Sandbox Code Playgroud)

正确答案是:0 1 2 3 4 5

对我来说,似乎应该循环打印-1,然后加1我,打印0 .....直到我= 4,然后将打印4,加1我,并打破循环循环的条件i <n.为什么正确答案是什么,为什么我的逻辑存在缺陷?

java for-loop

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

Ocaml:使用布尔运算符进行模式匹配

我正在尝试编写一个函数"dom_rank r1 r2",它根据两张扑克牌的相对等级返回一个布尔值(等级是我定义的类型,它有值"Six","Seven","Eight"... ......"国王","王牌").如果r1是King而r2是Jack,则r1大于r2并且函数返回true,如果r1是Six而r2是Ten,则函数返回false.据我所知,我可以列出两种卡输入的所有可能性(我只处理六张牌,这有三种不同的可能性),但我正在尝试编写更简单的代码.该方法看起来像:

let dom_rank r1 r2 = match r1, r2 with
  | Ace, _ -> true
  | King, (Queen || Jack || Ten ........) -> true
Run Code Online (Sandbox Code Playgroud)

我在布尔表达式"(Queen || Jack || Ten ........)"的开头遇到语法错误.为什么我不能以这种方式列出r2的几种可能性?有没有办法在Ocaml中编写这个表达式?

ocaml boolean pattern-matching

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

JAVA-多线程合并排序的排序速度

我已经在JAVA中实现了多线程MergeSort,并用不同数量的线程测试了算法的运行时间。我在双核处理器上运行代码,该算法以4或8个线程运行最快。这对我来说没有意义-我有两个核心。这是我的源代码。

public static void parallelMergeSort(int[] a, int NUM_THREADS)
{
    if(NUM_THREADS <= 1)
    {
        mergeSort(a);
        return;
    }

    int mid = a.length / 2;

    int[] left = Arrays.copyOfRange(a, 0, mid);
    int[] right = Arrays.copyOfRange(a, mid, a.length);

    Thread leftSorter = mergeSortThread(left, NUM_THREADS);
    Thread rightSorter = mergeSortThread(right, NUM_THREADS);

    leftSorter.start();
    rightSorter.start();

    try {
        leftSorter.join();
        rightSorter.join();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    merge(left, right, a);
}

private static Thread mergeSortThread(int[] a, int NUM_THREADS)
{
    return new Thread()
    {
        @Override
        public void run()
        {
            parallelMergeSort(a, NUM_THREADS …
Run Code Online (Sandbox Code Playgroud)

java algorithm parallel-processing mergesort multithreading

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