小编pb2*_*b2q的帖子

private static final double为0

我试图使用以下行来指定一个双常量,任何人都可以帮我解释为什么在运行时这个常量的值为0.0:

private static final double CONSTANT = 1/2;
Run Code Online (Sandbox Code Playgroud)

java static final private-members

3
推荐指数
2
解决办法
1681
查看次数

C指针:数组变量

我在书中看到了这一点(以及互联网上的许多消息来源):

数组变量指向数组中的第一个元素.

如果这是真的,那么数组变量和第一个元素是不同的.对?

它意味着通过以下代码,它将产生两个不同的结果:

int main(){
    char msg[] = "stack over flow";
    printf("the store string is store at :%p\n",&msg);
    printf("First element: %p\n",&msg[0]);
}
Run Code Online (Sandbox Code Playgroud)

但是我对这两个案例得到的结果相同.所以,通过这个例子,我认为我们应该说:数组变量第一个元素.(因为它有相同的地址)

我不知道这是真还是错.请教我.

c arrays pointers

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

Java的String.split()删除尾随空条目

我正在尝试解析一些管道分隔的记录.我有这个代码:

public class Test {
    public static void main(String[] args) throws Exception {
        String[] components = "EN|1056209|||KA3NDL|L|||||||||||||||||||||".split("\\|");
        System.out.println(java.util.Arrays.toString(components));
    }
}
Run Code Online (Sandbox Code Playgroud)

你希望它打印:

[EN, 1056209, , , KA3NDL, L, , , , , , , , , , , , , , , , , , , , , ]
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.它打印:

[EN, 1056209, , , KA3NDL, L]
Run Code Online (Sandbox Code Playgroud)

访问数组的length属性components表明它正在正确打印.

任何人都知道为什么这是一个解决方法?

编辑:

这有效:

public class Test {
    public static void main(String[] args) throws Exception {
        String[] components = "EN|1056209|||KA3NDL|L|||||||||||||||||||||".split("\\|", -1); …
Run Code Online (Sandbox Code Playgroud)

java split

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

在条件中使用数组

我想检查条件中的数组.我们来看下面这个简单的代码:

#include <stdio.h>
int main()
{
    int array[] = {1,2,3,4,5}; // initializing an array
    if(array[] == {1,2,3,4,5}) // using as condition
    {
         printf("worked");
    }
    else printf("not worked");

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

但它给出了一个错误:

In function 'main':|
C:\Python32\Untitled4.c|5|error: expected expression before ']' token|
||=== Build finished: 1 errors, 0 warnings ===|
Run Code Online (Sandbox Code Playgroud)

那么我应该如何在条件中使用数组呢?

c arrays

3
推荐指数
2
解决办法
5412
查看次数

为什么cin提取操作符导致段错误?

#include <iostream>

using namespace std;

int main() {
    char * c;
    cin >> c;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试从长度未知的用户处获取C字符串行.我知道,如果我宣布cchar c[80],而不是char * c那么它会不会导致段错误.

但是如果我不想将用户限制为80 - 1字符呢?我可以使用一个非常大的数字,但这只会浪费空间.

我也想知道为什么上面的程序会导致段错误.根据我的理解,cin提取operator(>>)知道NULL终止C字符串.究竟是什么导致了这个问题?

c++ segmentation-fault

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

""和""之间有什么区别,我如何用char来测试前者?

在Java中,""(空引号)和""(带有单个空格的引号)之间的区别是char什么?如何根据a测试前者?

java string char

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

简单的正则表达式来匹配前导零

我是否误解了有关 Java 正则表达式的内容?以下内容不应与前导零匹配:

public class Testit {
    public static void main(String[] args) {
        format("0115724848");
    }


    private static void format(String elementToFormat) {
        if (elementToFormat.matches("^0")) {
            System.out.println("leading zero:" + elementToFormat);
        } else {
            System.out.println("no leading zero:" + elementToFormat);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java regex

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

使用Swing工具包构建Java GUI

我即将开始一个项目,我将建立一个道路网络模拟器.该程序将在GUI方面,在2D,所以基本上是一个自上而下的道路与简单的移动车等.

我确实有一些Swing的经验,我之前用它来构建一个模拟器但不是提供移动物体的实际动画等.因此,我的问题是,你是否建议使用swing来进行这样的项目,还是有其他可能更适合这种类型的应用?我不太了解其他工具包,但我要问的主要原因是确保摆动不会限制我从我需要实现的任何方面.

java user-interface animation swing

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

比较器不适用于Arrays.sort

所以我正在研究一个比较器问题,我无法弄清楚为什么Array.sort第一堂课给我的错误是:

Arrays类型中的方法sort(T [],Comparator)不适用于参数(ArrayList,CalorieComparator)

餐厅类:

import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;

public class Restaurant {
    private ArrayList<Edible> elist;

    public Restaurant() {
    }

    public void addEdibleItem(Edible item){
        elist.add(item);
    }

    public List<Edible> orderByCalories(){
        Arrays.sort(elist, new CalorieComparator());
    }
Run Code Online (Sandbox Code Playgroud)

CalorieComparator类:

import java.util.Comparator;
public class CalorieComparator implements Comparator {

    public int compare(Object o1, Object o2){
        Edible thisfood = (Edible)o1;
        Edible otherfood = (Edible)o2;
        if(thisfood.getCalories() > otherfood.getCalories())
            return 1;
        else if (thisfood.getCalories() < otherfood.getCalories())
            return -1;
        else 
            return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays sorting comparator

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

VS 2012:Windows服务中的"添加安装程序"无法正常工作

在VS2012中创建了一个Windows服务.右键单击该服务并选择"添加安装程序",如VS2010中所做

得到消息:

无法添加安装程序.设计人员无法添加Project Installer.

有人碰到这个吗?

windows-services

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