gpt4 book ai didi

java - Testdome - DecoratorStream Java

转载 作者:行者123 更新时间:2023-12-02 10:18:16 34 4
gpt4 key购买 nike

我一直在尝试解决链接here上的问题。我的解决方案在 testdome 上遇到了 stackoverflow 错误,尽管当我在 IDE 中运行它时它可以工作。

我的解决方案:

private static boolean prefixused;

@Override
public void write(byte[] b, int off, int len) throws IOException {
byte [] prefixarr = new byte [prefix.length()+b.length];

if(prefixused)
write(b, 0, b.length);
else
for(char c : prefix.toCharArray()){
write((int)c);
}

write(prefixarr, 0, prefixarr.length);
prefixused = true;
}

最佳答案

问题是您正在调用 write 而不是stream.write(这是任务的一部分)。如果是这样的话,它不应该抛出错误:

@Override
public void write(byte[] b, int off, int len) throws IOException {
if(prefixused)
stream.write(b, 0, b.length);
else
for(char c : prefix.toCharArray()){
stream.write((int)c);
}

stream.write(b, off, len);
prefixused = true;
}

但是这个解决方案通过了所有测试并且更加优雅:

@Override
public void write(byte[] b, int off, int len) throws IOException {
if (prefix != null) {
stream.write(prefix.getBytes(StandardCharsets.UTF_8));
prefix = null;
}
stream.write(b, off, len);
}

关于java - Testdome - DecoratorStream Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54525933/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com