小编Dun*_*nes的帖子

将字符串添加到列表中的每个单独的字符串

简单地添加字符串和字符串列表会产生错误cannot concatenate 'str' and 'list' objects.是否有更优雅的方式来执行以下操作(例如,没有循环)?

list_of_strings = ["Hello", "World"]
string_to_add = "Foo"

for item, string in enumerate(list_of_strings):
    list_of_strings[item] = string_to_add + string

# list_of_strings is now ["FooHello", "FooWorld"]
Run Code Online (Sandbox Code Playgroud)

python string list

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

使用 cmake 编译时 Valgrind 不显示行号

我正在使用命令编译我的项目cmake .. -G "CodeBlocks - Ninja,它工作正常,但是当我运行 valgrind 时,它不显示任何行号。这是我正在使用的 valgrind 命令:valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --log-file="log.txt" ./pony_gpExe

以下是输出的示例:

==5402== Use of uninitialised value of size 8
==5402==    at 0x40447B: get_double_arr_length (in /home/robbie/Dropbox/MIT/pony_gp_ubuntu/build/pony_gpExe)
==5402==    by 0x405184: get_test_and_train_data (in /home/robbie/Dropbox/MIT/pony_gp_ubuntu/build/pony_gpExe)
==5402==    by 0x4027B3: setup (in /home/robbie/Dropbox/MIT/pony_gp_ubuntu/build/pony_gpExe)
==5402==    by 0x402861: main (in /home/robbie/Dropbox/MIT/pony_gp_ubuntu/build/pony_gpExe)
==5402==  Uninitialised value was created by a stack allocation
==5402==    at 0x405149: get_test_and_train_data (in /home/robbie/Dropbox/MIT/pony_gp_ubuntu/build/pony_gpExe)
Run Code Online (Sandbox Code Playgroud)

不确定这是否有帮助,但这是我的主要 CMakeLists.txt:

cmake_minimum_required(VERSION 3.4.3)
project (pony_gp)
set(DIR ${pony_gp_SOURCE_DIR})

file(GLOB_RECURSE pony_gp_SOURCES "${DIR}/src/*.c")
file(GLOB_RECURSE pony_gp_HEADERS …
Run Code Online (Sandbox Code Playgroud)

c debugging valgrind cmake

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

Flutter 应用程序中屏幕底部的背景图像

在我的 flutter 应用程序中,我试图在屏幕底部放置一个背景图像。我使用了一个堆栈来将背景与我的应用程序内容分开,并使用一个带有扩展容器的列将我的图像推到底部。

不幸的是,这种组合导致我的应用程序崩溃。如果我从我的背景中删除该列,它工作正常。所以关于计算布局的一些事情失败了。

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.grey,
      ),
      home: Scaffold(
        body: Background(),
      ),
    );
  }
}

class Background extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        Column(
          children: <Widget>[
            Expanded(
              child: Container(),
            ),
            Container(
              decoration: BoxDecoration(
                image: DecorationImage(
                  image: AssetImage("assets/background.png"),
                  fit: BoxFit.fitWidth,
                ),
              ),
            ),
          ],
        ),
        Center(
          child: Text("App content …
Run Code Online (Sandbox Code Playgroud)

layout dart flutter

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

替换String中的所有反斜杠

我试图取代所有\%5C但得到错误的输出:

String str="a\b";
str=str.replaceAll("\\\\", "%5C");
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)

java regex

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

值未在if语句中初始化

以下代码有一个编译器错误:

speedMsg might not been initialized

我该如何解决这个问题?

String speedMsg;

// Determine the grade
if (speed >= 150)
  speedMsg = "STOP! STOP! Please let me OUT!";
else if (speed <= 150)
  speedMsg = "Whew I'll just walk from here Thanks.";
Run Code Online (Sandbox Code Playgroud)

java

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

Calendar为Calendar.MONTH返回错误的值

我的月份有问题

public static void main(String[] args) {
    GregorianCalendar tgl;
    tgl = new GregorianCalendar ();

    System.out.println("Tanggal Sekarang : " +
            tgl.get (Calendar.DATE) + "/" +
            tgl.get (Calendar.MONTH) + "/" +
            tgl.get (Calendar.YEAR));
}
Run Code Online (Sandbox Code Playgroud)

结果是:

Date now : 27/3/2013
Run Code Online (Sandbox Code Playgroud)

java calendar

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

当域名具有连字符时,电子邮件地址验证将失败

我有一个电子邮件地址验证正则表达式我在代码中使用如下:

public class Test {

  public static void main(String[] args) {
    try {
      String lineIwant = "myname@asl.ramco-group.com";
      String emailreg = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
      Boolean b = lineIwant.matches(emailreg);

      if (b == false) {
        System.out.println("Address is Invalid");
      }else if(b == true){
        System.out.println("Address is Valid");
      }
    } catch (Exception e) {

      e.printStackTrace();
      System.out.println(e.getMessage());
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在示例中的此特定电子邮件地址中,布尔值返回false,而这是有效的客户电子邮件地址.

我怀疑它是因为之间的连字符ramco,group因为当我删除它时,布尔值返回true.

如何更改我的正则表达式以容纳这样的电子邮件地址?

java regex email validation

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

我的serialVersionUID之后为什么需要大括号?

我有一个语法错误,一行与serialVersionUID.要修复此错误,我必须在该行的末尾放置一个括号,并在我的代码末尾关闭它...我的问题是为什么?在包含Jframe的文件中没有必要这个...还有什么是serialVersionUID?我很抱歉,如果我的问题看起来很简单,我是编程的新手,对Java更新,这是我在GUI上的3天.

import javax.swing.*;


public class HangmanPanel extends JPanel{
    private static final long serialVersionUID = -1767262708330188227L;{

    this.setLayout(null);
    JLabel heading = new JLabel("Welcome to the Hangman App");
    JButton Button = new JButton("Ok");
    //get input

    JLabel tfLable = new JLabel("Please Enter a Letter:");
    JTextField text = new JTextField(10);


    heading.setSize(200, 50);
    tfLable.setSize(150, 50);
    text.setSize(50, 30);
    Button.setSize(60, 20);


    heading.setLocation(300, 10);
    tfLable.setLocation(50, 40);
    text.setLocation(50, 80);
    Button.setLocation(100, 85);

    this.add(heading);
    this.add(tfLable);
    this.add(text);
    this.add(Button);
}}
Run Code Online (Sandbox Code Playgroud)

java user-interface serialversionuid

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

理解正则表达式输出

我需要帮助来理解下面代码的输出.我无法找出输出System.out.print(m.start() + m.group());.请有人向我解释一下吗?

import java.util.regex.*;
class Regex2 {
    public static void main(String[] args) {
        Pattern p = Pattern.compile("\\d*");
        Matcher m = p.matcher("ab34ef");
        boolean b = false;
        while(b = m.find()) {
            System.out.println(m.start()  + m.group());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是:

0
1
234
4
5
6
Run Code Online (Sandbox Code Playgroud)

请注意,如果我放System.out.println(m.start() );,输出是:

0
1
2
4
5
6
Run Code Online (Sandbox Code Playgroud)

java regex

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

使用BigIntegers时,代码示例无限循环,但适用于整数

我整数的实际情况是

int d = 1;

while(true)
{
  if(((e*d)%f)==1)
  {
    break;
  }
  else 
    d++;
}
Run Code Online (Sandbox Code Playgroud)

我已经在BigInteger中写了这个条件

while(true)
{
  if(((e.multiply(d)).mod(f)).equals(1))
  {
    break;
  }
  else 
    d=d.add(BigInteger.ONE);
}
Run Code Online (Sandbox Code Playgroud)

当我在BigInteger中执行上面的代码时,它会无限执行.但是,当我以整数执行代码时,它会完美地执行并从循环中退出.请告诉我错误是什么.

java biginteger

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