小编rax*_*ell的帖子

Java实现构建器模式的最佳方法

以下哪项是实施构建器模式的更好方法?

1)使用对象构建而不是构建器中的所有属性(并在构建器构造器中创建它):

public class Person {
    private String firstName;
    // other properties ...

    private Person() {}

    // getters ...

    public static class Builder {
        // person object instead of all the person properties
        private Person person;

        public Builder() {
            person = new Person();
        }

        public Builder setFirstName(String firstName) {
            person.firstName = firstName;

            return this;
        }

        // other setters ...

        public Person build() {
            if (null == person.firstName) {
                throw new IllegalStateException("Invalid data.");
            }

            return person;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

2)直接在构建器中使用对象的属性来构建而不是对象(并在build()方法中创建它):

public …
Run Code Online (Sandbox Code Playgroud)

java builder

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

scanf在C中没有附加参数

是否允许使用scanf(" ")没有其他参数来忽略初始空格?
我正在getchar()阅读一个单词的字符,我想忽略单词之前的空格(后面用空格来检查单词的结尾).
代码如下,是否正确?

char *read_word() {
    int size = 2;
    int char_count = 0;
    char *s;
    char ch;

    s = mem_alloc(size);

    scanf(" ");

    while ((ch = getchar()) != EOF) {
        if (char_count >= size) {
            s = mem_realloc(s, size++);
        }

        if (ch == ' ' || ch == '\n') {
            s[char_count] = '\0';
            break;
        }

        s[char_count++] = ch;
    }

    return s;
}
Run Code Online (Sandbox Code Playgroud)

c scanf

14
推荐指数
3
解决办法
1246
查看次数

Erlang分布式反向字符串

我是Erlang的新手,我不知道如何解决此练习。
我需要通过将长字符串划分为N个子字符串来反转长字符串,反转单个子字符串,然后将它们加入以获得原始字符串的反转。每个子字符串需要通过不同的过程反转。

我的问题是:
1)如何将字符串分成N个大小相等的子字符串?
2)如何加入其他进程收到的字符串?

有人可以给我示例代码吗?这是我所做的,但缺少主要部分:

% This function should split the string, spawn the processes
% and recombine the results
reverse(Str, N) -> % ...

sub_reverse() ->
    receive
        { From, SubStr } -> From ! { self(), lists:reverse(SubStr) }
    end.
Run Code Online (Sandbox Code Playgroud)

erlang

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

标签 统计

builder ×1

c ×1

erlang ×1

java ×1

scanf ×1