小编Red*_*ite的帖子

什么是编程语言?

可能重复:
什么是计算机编程语言?

不完全是.

我努力想出一个非常棒的定义.这是我到现在为止:

编程语言是一种包含语法的形式语言.语法规则用于形成语句.编程语言用于创建计算机可以理解的一组指令.语法语句的集合称为程序.

我知道它看起来不太好,所以在这方面得到一些帮助会很高兴.



这是维基百科关于该主题第一段:

编程语言是一种人工语言,旨在表达可由机器,尤其是计算机执行的计算.编程语言可用于创建控制机器行为,精确表达算法或作为人类交流模式的程序.

我认为这是生活中的一件事,每个人都知道它是什么,但它很难定义.

我一个人吗?你的意见?

programming-languages

32
推荐指数
2
解决办法
1940
查看次数

如何在Java中舍入*向下*整数?

我想在Java中将整数舍入到最接近的1000.

例如:

  • 13,623轮到13,000轮
  • 18,999轮到18,000轮
  • 等等

java numbers

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

在Java中构建字符串是否有"最快的方法"?

我通常用以下方式在Java中创建一个String:

String foo = "123456";

但是,我的讲师坚持要求我使用该format方法形成一个String ,如下所示:

String foo = String.format("%s", 123456);

要快得多.

此外,他说使用StringBuilder类更快.

StringBuilder sb = new StringBuilder();
String foo = sb.append(String.format("%s", 123456)).toString();



创建String的最快方法是哪一个,如果有的话

它们不可能100%准确,因为我可能不完全记得它们.

java string

16
推荐指数
5
解决办法
7858
查看次数

在Java Swing Elements中使用HTML样式是不好的做法吗?

使用HTML设置Swing元素的样式被认为是不好的做法?

举个例子,如果我想让标签变大一些红色,我有两个选择:

使用API​​调用:

JLabel label = new JLabel("This is a title");  
label.setFont(label.getFont().deriveFont(18));  
label.setForeground(Color.red);
Run Code Online (Sandbox Code Playgroud)

或者使用HTML:

JLabel label = new JLabel("<html><font size='4' color='#ff0000'>This is a title");
Run Code Online (Sandbox Code Playgroud)

另外,HTML方式允许我强调一个单词而不是整个标签,以及其他这样的用途.

使用HTML有什么缺点?它更贵吗?并且所有JRE都不保证格式化吗?

java swing

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

我可以在填充时检查集合的大小

我使用以下Apache Commons类在Java文件系统中列出文件:

Collection<File> allFiles = FileUtils.listFiles(rootDirectory, null, recursive);

这是一个非常漫长的过程,最多可能需要5分钟.

有什么方法可以在填充时检查集合的大小吗?

我尝试从一个单独的线程访问它,但只是零,直到该过程准备好.

java collections multithreading

12
推荐指数
2
解决办法
198
查看次数

如何使用Apache Commons解压缩TAR文件

我正在使用Apache Commons 1.4.1库来压缩和解压缩".tar.gz"文件.

我在最后一点遇到麻烦 - 将a转换TarArchiveInputStream成a FileOutputStream.

奇怪的是,它在这条线上打破了:

FileOutputStream fout = new FileOutputStream(destPath);
Run Code Online (Sandbox Code Playgroud)

destPath 是一个具有Canonical路径的文件:C:\ Documents and Settings\Administrator\My Documents\JavaWorkspace\BackupUtility\untarred\Test\subdir\testinsub.txt

出错:

Exception in thread "main" java.io.IOException: The system cannot find the path specified
Run Code Online (Sandbox Code Playgroud)

知道它可能是什么?为什么它无法找到路径?

我正在附上下面的整个方法(其中大部分是从这里解除的).

private void untar(File dest) throws IOException {
    dest.mkdir();
    TarArchiveEntry tarEntry = tarIn.getNextTarEntry();
    // tarIn is a TarArchiveInputStream
    while (tarEntry != null) {// create a file with the same name as the tarEntry
        File destPath = new File(dest.toString() + System.getProperty("file.separator") …
Run Code Online (Sandbox Code Playgroud)

java compression file-io tar apache-commons

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

我可以在线进行空值检查吗?

我有一个Java命令,如下所示:

Foo f = new Foo();
String string = f.format(new Bar().getSelection());
                       // ^ may be null
Run Code Online (Sandbox Code Playgroud)

有时我的Bar对象可能返回null,这是设计的.

对我来说,自然要做的就是将命令分成多行并分别进行空检查,例如:

Foo f = new Foo();
BarSel bs = new Bar().getSelection();
String string = "";
if (bs != null) {
    string = f.format(bs);
    // continue...
}
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否有办法在一行中做到这一点?是否可以内联检查对象?

我似乎记得阅读有关能够使用问号的内容,但我不记得确切的语法,我可能错了.请注意,我不是指三元运算符,尽管这是另一种有效的方法.

java null nullpointerexception

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

如何为我的跨平台Jar调用特定于OS X的方法?

我有一个编译的可执行JAR文件在Windows平台上失败.

原因是我想要正确地集成某些特定于OS X的属性 - 例如" 关于"窗口.

即使我特意使用条件封锁了代码,JAR仍然NoClassDefFoundError在第一行执行时崩溃.

if (isOSX()) {
    com.apple.eawt.Application application = com.apple.eawt.Application.getApplication();
    application.setAboutHandler(new com.apple.eawt.AboutHandler() {
        @Override
        public void handleAbout(com.apple.eawt.AppEvent.AboutEvent ae) {
            new AboutWindow();
        }
    });
    application.setDefaultMenuBar(MenuSystem.createMenu());
}
Run Code Online (Sandbox Code Playgroud)

是否可以在我的JAR文件中包含此代码,以便我可以拥有一个一致的代码库?

java windows macos cross-platform

5
推荐指数
2
解决办法
1438
查看次数

想出一个可变长度的字符串?

我有一个字符串的MD5哈希值,存储为String.我正在写一个小程序,通过蛮力找出原始字符串.

我想循环遍历一个子集char.

以下代码适用于何时String.length() == 0.

我无法弄清楚如何编辑此代码以使用可变长度Strings.我觉得我在递归的正确轨道上,但不能再进一步了.

我有以下代码:

    public void attempt(String initial, String md5) {

    for (char c = ' '; c < '~'; ++c) {
        attempt = initial + Character.toString(c);
        generatedMd5 = generateMD5(attempt);
        System.out.println(attempt);
        if (hashesMatch(md5, generatedMd5)) {
            break;
        } else attempt(attempt, md5);
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:我应该提到这是关于MD5的学术研究.

java string recursion md5

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

为什么编译? - > int foo = foo = 5;

为什么这行编译?

int foo = foo = 5;
Run Code Online (Sandbox Code Playgroud)

我在一个我正在维护的系统中找到了这个,并且无法理解它的用途.

c#

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