可能重复:
什么是计算机编程语言?
不完全是.
我努力想出一个非常棒的定义.这是我到现在为止:
编程语言是一种包含语法的形式语言.语法规则用于形成语句.编程语言用于创建计算机可以理解的一组指令.语法语句的集合称为程序.
我知道它看起来不太好,所以在这方面得到一些帮助会很高兴.
这是维基百科关于该主题的第一段:
编程语言是一种人工语言,旨在表达可由机器,尤其是计算机执行的计算.编程语言可用于创建控制机器行为,精确表达算法或作为人类交流模式的程序.
我认为这是生活中的一件事,每个人都知道它是什么,但它很难定义.
我一个人吗?你的意见?
我想在Java中将整数舍入到最接近的1000.
例如:
我通常用以下方式在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%准确,因为我可能不完全记得它们.
使用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都不保证格式化吗?
我使用以下Apache Commons类在Java文件系统中列出文件:
Collection<File> allFiles = FileUtils.listFiles(rootDirectory, null, recursive);
这是一个非常漫长的过程,最多可能需要5分钟.
有什么方法可以在填充时检查集合的大小吗?
我尝试从一个单独的线程访问它,但只是零,直到该过程准备好.
我正在使用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命令,如下所示:
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)
但是,我想知道是否有办法在一行中做到这一点?是否可以内联检查对象?
我似乎记得阅读有关能够使用问号的内容,但我不记得确切的语法,我可能错了.请注意,我不是指三元运算符,尽管这是另一种有效的方法.
我有一个编译的可执行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文件中包含此代码,以便我可以拥有一个一致的代码库?
我有一个字符串的MD5哈希值,存储为String
.我正在写一个小程序,通过蛮力找出原始字符串.
我想循环遍历一个子集char
.
以下代码适用于何时String.length() == 0
.
我无法弄清楚如何编辑此代码以使用可变长度String
s.我觉得我在递归的正确轨道上,但不能再进一步了.
我有以下代码:
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的学术研究.