小编Nay*_*uki的帖子

具有“字母数字字符”选项的QR码生成器?

我尝试使用在线工具,例如google / qr_codesgoQR.me,但都没有“ 字母数字字符 ”选项,只有完整的二进制(UTF8或ISO)字符集。我只需要一点字母数字(AZ,0-9,-,/等),因此可以用Version-1(21行)QR码符号表示“ http://bit.ly/1234”(带的字符串length=18)之类的字符串。

我还尝试安装(Linux,PHP,Python等)工具...而且,令我惊讶的是,没有“字母数字”选项!(仅间接地是“ binary”选项)。

例子:

  1. 良好:https : //chart.googleapis.com/chart? chs = 250x250 & cht = qr & chl =http : //bit.ly/12&chld=L|1生成带有版本1 QR 的符号“ http://bit.ly/12”(带的字符串length=16) -码。好!指南说“ ...最多可以编码25个字母数字字符”,因此16 <25,然后是版本1。

    1.1 错误https//chart.googleapis.com/chart?chs = 250x250&cht = qr&chl = http://bit.ly/12&chld=M | 1 (将L更改为M),生成版本2(25行)符号。

    1.2 错误https//chart.googleapis.com/chart?chs = 250x250&cht = qr&chl = http://bit.ly/1234&chld=L | 1 (将长度从16更改为18),生成版本2(25行)符号。

  2. 尝试对其进行编程...很糟糕...请参阅http://phpqrcode.sourceforge.net/,即使在编程时,也无法选择真正的“字母数字”选项!无版本1的符号可以生成(!),用这种工具。

qr-code

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

等于具有可比接口的方法合同

我有像Person这样的自定义类:

public class Person {
    int age;
    String name;
}
Run Code Online (Sandbox Code Playgroud)

现在我想Person基于类对对象进行排序age.

所以我将使用Comparable接口和实现compareTo()方法.

而且compareTo会有基于刚才比较人物对象的逻辑age.

所以,如果我这样做:

Collections.sort(list);  // where list is a list of person
Run Code Online (Sandbox Code Playgroud)

我会基于的获得排序人名单age.

但我在某处读到,我们equals()Comparable执行时也需要覆盖方法.

但我现在还没有看到它的使用.

任何人都可以解释一下,equals()如果我想sort基于age什么,还需要覆盖方法?

java collections equals comparable

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

素数计算器不使用大数字

我试图打印出一个数字的所有主要因素.我的代码如下:

public static boolean isPrime(long n){

    long i = n;

    while (i > 0){

        if (n % i == 0 && !(i == 1 || i == n)){

            return false;

        }
        i--;
    }

    return true;

}


public static void primeFactors(long n){

    long i = n;
    while (i > 0){

        if (isPrime(i)){
            System.out.println(i);
        }
        i--;
    }

}
Run Code Online (Sandbox Code Playgroud)

此代码适用于小数字:5,5000,例如,当我向方法输入600851475143时,我的程序运行,没有输出任何内容.为什么会这样?

java prime-factoring

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

使用FileInputStream从文件中读取文本

我有一个文本文件,其中包含我的计算机上保存的内容abcdefgh.我想使用FileInputStream来显示控制台上的字符,同时还要测量执行此操作所需的时间.它看起来像这样:

public class Readtime {
    public static void main(String args[]) throws Exception{
        FileInputStream in=new FileInputStream("bolbol.txt");
        while(in.read()!=-1){
            long startTime = System.nanoTime();
            int x = in.read();
            long endtime = System.nanoTime();
            System.out.println(endtime-startTime);
            System.out.println((char)x);
        }
        in.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

我在控制台上得到的是以下内容:

8863
b
7464
d
6998
f
6997
h
Run Code Online (Sandbox Code Playgroud)

其余的字母现在在哪里?就好像只进行了4次读操作一样.我的想法是朝着字符大小的方向前进,一次read()只能读取一个字节,但我没有到达任何地方.

java file-io fileinputstream java-io

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

为什么在Double-Checked-Locking中添加第二个测试?

请参阅此https://en.wikipedia.org/wiki/Double-checked_locking,我们有:

// "Double-Checked Locking" idiom
class Foo {
    private Helper helper;
    public Helper getHelper() {
        if (helper == null) {
            synchronized(this) {
                if (helper == null) {
                    helper = new Helper();
                }
            }
        }
        return helper;
    }    
    // other functions and members...
}
Run Code Online (Sandbox Code Playgroud)

第二次测试的目的是什么?2个线程是否真的可以同时访问同一个关键部分?

java multithreading synchronization design-patterns

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

使用 CSS 更改所选项目的颜色

我有一个物品清单。用户可以通过点击来选择一个项目。我想使用 CSS 更改所选项目的颜色。假设用户点击了 item1,那么 item1 会变成红色。现在,如果用户单击 item 2,则 item2 将变为红色。我的 HTML 代码:

<ul>
  <li>item1</li>
  <li>item2</li>
  <li>item3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

html css

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

如何在bitbucket中防止无用的合并提交?

我正在使用与PHPCI的Continuous Intergration并且使用多个分支.目前,我们很高兴使用master分支来提交(并直接构建)所有更改.

当另一个程序员推送一些东西,我必须提交我的东西时,通常会发生以下情况:

git commit -a -m 'fixed some stuff'
git pull origin master # -- this creates a merge, even when there's no conflicts
git push origin master
Run Code Online (Sandbox Code Playgroud)

然后,这将创建2个新提交.其中一个是完全没用的,因为它简单地重述了其他开发人员已经做过的事情!这会减慢CI并且非常烦人.我很好,如果有一个冲突提交(虽然没有真正的理由单独构建它),但我认为必须有一种解决这些空合并的方法..文件实际上没有改变,除了新的东西,承诺.

任何人都知道是否有另一种合并方式不会创建合并提交?

git merge

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

无限循环试图在Java中迭代日期

我正在尝试迭代日期而没有成功,因为发生了一个inifite循环,它不会停止在数据库中创建记录.为什么?

我有以下方法,将一个日期作为参数传递,然后返回更新.

public static Date addDays(Date date, int days) {
    Calendar cal = Calendar.getInstance();
    cal.setTime(date);
    cal.add(Calendar.DATE, days);
    return cal.getTime();
}
Run Code Online (Sandbox Code Playgroud)

然后我以这种方式在for循环中使用它......

for (Date initDate = fromDate; initDate.before(toDate); addDays(initDate, 1)) {
    // Do something...
}
Run Code Online (Sandbox Code Playgroud)

fromDate和toDate是以这种方式解析为sql.Date的JTextField的值.

private java.sql.Date fechaParser(String f) {
    SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy");
    Date date;

    try {
        date = formatDate.parse(f);
        java.sql.Date sqlDate = new java.sql.Date(date.getTime());

        return sqlDate;
    } catch (ParseException e) {
        JOptionPane.showMessageDialog(null, "Wrong date format.");
        e.printStackTrace();
    }

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

java for-loop date

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

while循环带有or-condition

一旦其中一个变量达到所需数量,我希望它停止.为什么这段代码要等到两个变量等于20或更大才结束?

z = 20
x = 1
y = 0
while x < z or y < z:
    inp = int(input('enter a number'))
    if x > y:
        y += inp
    elif y > x:
        x += inp
    print(x, y)
Run Code Online (Sandbox Code Playgroud)

或使用类似这些例子的东西只是不断添加,永不停止:

while x != z or y != z:    
while x or y < z:
while x or y != z:
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

为什么个数的补码表示比其他的更好?

似乎有符号数字的补码表示现在是最流行的(并且可能是现代硬件中使用的唯一表示)。为什么它比其他人更好?

math binary ones-complement

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