有没有办法使用Eclipse将所有jar文件包含在类路径的目录中?
可以通过以下命令使用命令行来完成:
java -cp "lib/*" my.package.Main
Run Code Online (Sandbox Code Playgroud)
但是如何从日食中完成呢?
编辑:我.classpath在我的项目文件中编辑了条目:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="F:/Program Files/Java/log4j/apache-log4j-2.0-alpha2-bin/*"/>
<classpathentry kind="output" path="classes"/>
</classpath>
Run Code Online (Sandbox Code Playgroud)
这F:/Program Files/Java/log4j/apache-log4j-2.0-alpha2-bin/是文件所在的jar文件夹.但它没有用.
更新:似乎没有直接的方法来做到这一点.并且可能是最简单的解决方案是创建用户库.
我一直听说C++文件I/O操作比C风格I/O慢得多.但我没有找到任何实际的参考文件,因为它们实际上有多慢,所以我决定在我的机器上测试它(Ubuntu 12.04,GCC 4.6.3,ext4分区格式).
首先,我在磁盘中写了一个~900MB的文件.
C++(ofstream):163s
ofstream file("test.txt");
for(register int i = 0; i < 100000000; i++)
file << i << endl;
Run Code Online (Sandbox Code Playgroud)
C(fprintf):12s
FILE *fp = fopen("test.txt", "w");
for(register int i = 0; i < 100000000; i++)
fprintf(fp, "%d\n", i);
Run Code Online (Sandbox Code Playgroud)
我期待这样的输出,它表明在C++ C中写入文件要慢得多.然后我使用C和C++ I/O读取相同的文件.让我感到惊讶的是,从文件中读取时,性能几乎没有差异.
C++(ifstream):12s
int n;
ifstream file("test.txt");
for(register int i = 0; i < 100000000; i++)
file >> n;
Run Code Online (Sandbox Code Playgroud)
C(fscanf):12s
FILE *fp = fopen("test.txt", "r");
for(register int i = 0; i < …Run Code Online (Sandbox Code Playgroud) 在C/C++中,我们使用静态局部变量来维护方法的状态.但为什么Java不支持它?
是的,我可以为此目的使用静态字段.但创建一个只保留一个方法状态的字段是不是有点奇怪?
我已经从我的Ububtu 10.10终端编译了一个程序
gcc file_name.c -o new_file
命令.它编译成功创建了一个名为new_file的可执行文件.但是当我试图通过这个命令执行它时
./new_file
Run Code Online (Sandbox Code Playgroud)
它表示对new_file的权限被拒绝.我已经检查了该文件的权限属性,发现我有权读取和写入它(我是该系统的唯一用户).你能帮我解决一下这个问题吗?
设,x是一个整数和y = x * x.
那保证sqrt(y) == x吗?
例如,我可以确定sqrt(25)或sqrt(25.0)将返回5.0,不是5.0000000003或4.999999998?
从python文档中,"set.pop()从s中删除并返回一个任意元素".在生成一些随机数据来测试程序时,我注意到这个pop()函数的奇怪行为.这是我的代码(python 2.7.3):
testCases = 10
numberRange = 500
poppedValues = []
greaterPercentages = []
for i in range (testCases):
s = Set()
""" inserting 100 random values in the set, in the range [0, numberRange) """
for j in range (100):
s.add(random.randrange(numberRange))
poppedValue = s.pop()
greaterCount = 0
""" counting how many numbers in the set are smaller then the popped value """
for number in s:
if poppedValue > number:
greaterCount += 1
poppedValues.append(poppedValue)
greaterPercentages.append(float(greaterCount) / len(s) …Run Code Online (Sandbox Code Playgroud) 这是一个简单的C程序,它打印传递给它的命令行参数的数量:
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("%d\n", argc);
}
Run Code Online (Sandbox Code Playgroud)
当我给出输入
file_name *
Run Code Online (Sandbox Code Playgroud)
它在我的电脑(操作系统Windows 7)中打印623而不是2.但它在其他情况下提供了正确的输出.是*命令行参数的保留字符?请注意,此程序为以下输入提供正确的输出:
file_name *Rafi
Run Code Online (Sandbox Code Playgroud)
输出= 2
给定一个序列a[1], a[2], a[3] .... a[n],我必须为每个a[i]元素找到一个元素a[j],其中a[j]序列中的第一个元素就是a[i - 1], a[i - 2], a[i - 3]....这样a[j] < a[i].
换句话说,我必须找到a[j]哪里a[j] < a[i]和1<=j<i.但如果有多个这样的元素,我必须选择最接近的元素a[i].
例如,按以下顺序:
2 6 5 8
我必须为6和5输出2,为8输出5.
我知道这可以很容易地完成O(n^2),但有没有更有效的方法呢?
我想删除目录中每个文件的第一行,并通过在每个文件名的末尾附加一个“.tmp”来保存相应的输出。例如,如果有一个文件名input.txt,内容如下:
line 1
line 2
Run Code Online (Sandbox Code Playgroud)
我想在同一个目录中创建一个名称input.txt.tmp为以下内容的文件
line 2
Run Code Online (Sandbox Code Playgroud)
我正在尝试这个命令:
find . -type f | xargs -I '{}' tail -n +2 '{}' > '{}'.tmp
Run Code Online (Sandbox Code Playgroud)
问题是,它不是将输出写入带有.tmp后缀的单独文件,而是仅创建一个名为{}.tmp. 我知道这是因为输出重定向是在xargs完全完成后完成的。但是有什么方法可以告诉xargs输出重定向是它的参数的一部分吗?
我已在我的应用程序中实现onPause()和onResume()方法如下:
protected void onPause() {
super.onPause();
String receiver = phoneNoField.getText().toString();
String message = messageBody.getText().toString();
getIntent().putExtra(MESSAGE_RECEIVER, receiver);
getIntent().putExtra(MESSAGE_BODY, message);
Log.d(TAG, receiver + " " + message);
}
protected void onResume() {
super.onResume();
String receiver = getIntent().getStringExtra(MESSAGE_RECEIVER);
String message = getIntent().getStringExtra(MESSAGE_BODY);
if(receiver != null)
phoneNoField.setText(receiver);
if(message != null)
messageBody.setText(message);
Log.d(TAG, receiver + " " + message);
}
Run Code Online (Sandbox Code Playgroud)
当onPause()调用方法时,我看到已经设置了值.但在我的onResume()方法中getStringExtra()总是返回null.我的做法有什么问题吗?