小编Joh*_*ica的帖子

遍历 for 循环:为什么我的第一个 if 语句不运行?

当 for 循环遍历 'parts' 数组时,它只会直接进入最后一个 'else' 语句,无论它是空索引、句点、两个句点还是字符。我对这个 for 循环的目标是简单地跳过一个索引,如果它不包含任何内容、一个句点或两个句点。为什么第一个 if 语句不运行?

String[] parts = ["", "a",".","b","..","c",""]
        
Deque<String> a = new LinkedList<>();

for(int i=0; i<parts.length; i++) {
    if (parts[i] == "" || parts[i] == "." || (parts[i] == ".." && a.size() == 0)) 
    {
        i++;
    }
    
    else if (parts[i] == ".." && a.size() >= 1) {
        a.removeFirst();
    }
    else {
        a.addFirst(parts[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

java loops

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

如何将列表与交替元素合并?

我们有两个列表list1 = [10,30,50]list2 = [2,4,6],我们想要输出[10,2,30,4,50,6](相对于[10,30,50,2,4,6],它更容易生成)。列表可能很长,因此手动解决方案list1[0] + list2[0] + list1[1] + ...对我们来说不可行。

python concatenation

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

是否可以在接口中实现本机方法?

您经常听说接口中的方法没有实现。然而,在 Java 8 中,可以实现默认方法。但我很感兴趣。是否可以本地实现接口方法?(native方法)。

当面试问题被问到“是否可以在接口中实现方法?” 答案 - 您可以实现本机方法,并且从 Java 8 开始可以定义默认方法。” 这个答案正确吗?

java native-methods interface default-method

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

For循环不按顺序打印哈希图

我不明白为什么这没有按顺序打印哈希图。分配key的时候也是这样保存的吗?肉眼看来,它似乎是随机的。这对 Rust 来说正常吗?

use std::collections::HashMap;
use rand::Rng;

fn main() {
    let mut board = HashMap::new();
    
    for n in 0..99 {
        board.insert(n,0);
    }
    // board.insert(1, 0);

    for (key,value) in &board {
        println!("{}: {}", key, value);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

21: 0
15: 0
90: 0
10: 0
52: 0
92: 0
32: 0
61: 0
91: 0
50: 0
28: 0
93: 0
64: 0
72: 0
75: 0
95: 0
98: 0
89: 0
57: 0
88: 0
9: 0
85: …
Run Code Online (Sandbox Code Playgroud)

hashmap rust

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

如何使用 sed 命令替换文件中两个单引号之间的文本?

假设我有文件:Address.txt

地址.txt

Name = John
Initial = 'J'
Phone = 123-456-789
Home = '1234 North Street'
Work = '5678 South Street'
Run Code Online (Sandbox Code Playgroud)

如何'在特定使用sed命令或任何其他终端命令处替换特定两个标记之间的文本?

例如,更改Address.txt为:

Name = John
Initial = 'J'
Phone = 123-456-789
Home = '147 East Avenue'
Work = '5678 South Street'
Run Code Online (Sandbox Code Playgroud)

更新 1:我想更改以Home = The 开头的行中的信息,之后的信息Home = 未修复。它可以是任何东西。例如,,,'Hello'甚至None'(什么也''没有)。

bash shell

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

使用 shell 脚本中的参数创建 JSON 文件

假设我想使用 bash 脚本创建一个文件,因此创建文件的命令将如下所示:

myscript hostgroup_one 2
Run Code Online (Sandbox Code Playgroud)

hostgroup_one和数量2是参数。

如何在下面的行中插入参数并将所有行输出为文件?

{
  "bool": {
    "should": [
      {
        "match_phrase": {
          "hostgroup.keyword": "$1"
        }
      }
    ],
    "minimum_should_match": $2
  }
}
Run Code Online (Sandbox Code Playgroud)

bash shell json

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

临时变量是否在语句结束时释放?

我试图找出临时变量何时被释放。我写了下面的代码。

#include <stdio.h>

class C
{
public:
    C()
    {
        printf("C O\n");
    }
    C(const C&)
    {
        printf("C& O\n");
    }
    virtual ~C()
    {
        printf("C D\n");
    }
};

int kkk(const C&)
{
    printf("kkk\n");
    return 0;
}
int kkk2(int)
{
    printf("kkk2\n");
    return 0;
}

int main()
{
    (kkk2( kkk2( (kkk(C()),3) ) ), printf("dsfsdfs\n"), true) && (printf("dsdddf\n"),true);
    printf("=====\n");
    return 0;
}

Run Code Online (Sandbox Code Playgroud)

我期望C类在被调用后被释放kkk,但实际上,结果是:

C O
kkk
kkk2
kkk2
dsfsdfs
dsdddf
C D
=====
Run Code Online (Sandbox Code Playgroud)

我用 g++ clang++ 和 msvc++ 运行代码,结果是一样的。C 类在声明结束时释放。

在语句末尾释放临时变量是 C++ 标准吗?

c++

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

如何将两个范围连接成 Vec

如何制作Vec包含[0,1,2,3,4,3,2,1,0]使用范围?我试过这个:

let mut a = vec![0..len];
let  b = vec![len..=0];
a.extend(&b);
Run Code Online (Sandbox Code Playgroud)

但它会引发一个错误:

let mut a = vec![0..len];
let  b = vec![len..=0];
a.extend(&b);
Run Code Online (Sandbox Code Playgroud)

rust

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

语句的逻辑等价

一般来说,在Python中,嵌套if语句在逻辑上是否等同于其中的if语句?and所以会:

lista = ["1", "2"]
if "1" in lista and not "3" in lista:
     print("True")
Run Code Online (Sandbox Code Playgroud)

与以下相同:

lista = ["1", "2"]
if "1" in lista:
   if not "3" in lista:
       print("True")
Run Code Online (Sandbox Code Playgroud)

或者Python对它们有不同的对待吗?

python

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

如何在倒数第二个斜杠上分割?

我想在倒数第二个斜杠上分割一个字符串,

/tmp/fold/merge/annots所以如果我有一个像我想要获取/tmp/fold/并返回的字符串merge/annots

同样,如果我有/tmp/long/dir/fold/merge/annots我想要得到/tmp/long/dir/fold/并且merge/annots

最好的方法是什么?我已经尝试rsplitsplit几次但没有得到我想要的

python

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