我只能用String执行此操作,例如:
String str="";
for(int i=0;i<100;i++){
str=i+str;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法用StringBuilder实现这个目的?谢谢.
我想要一个循环任何类型数组并打印它们的方法,我写了以下内容:
public static <T> void printArray(T[] arr){
for(T t: arr){
System.out.print(t+" ");
}
System.out.println("");
}
Run Code Online (Sandbox Code Playgroud)
但是这个只适用于类数组,如果我有一个char[]而不是一个Character[],或者一个int[]代替一个Integer[],或者有没有办法在它们之前投射它们呢?谢谢
似乎xargs没有立即传递所有参数,在xargs的手册中说executes the command (default is /bin/echo) one or more times,我听说这是因为xargs将传入的参数分组并将它们按组传递给命令组.如果这是正确的,任何人都知道如何确定这个组的大小?谢谢
有人能告诉我区别吗?例如:
如果我有一个a.txt包含以下内容的文件:
a
b
c
cat a.txt | cat和cat < a.txt
我之间有什么区别在我看来,他们都模拟STDIN,这是正确的,还是有差异?非常感谢.
我认为java中的字符是16位,如java doc中所建议的那样.字符串不是这样吗?我有一个代码将对象存储到文件中:
public static void storeNormalObj(File outFile, Object obj) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream(outFile);
oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
oos.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
oos.close();
try {
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,我试图将一个字符串存储"abcd"到文件中"output",当我output用编辑器打开并删除无字符串部分时,剩下的只是字符串"abcd",总共是4个字节.谁知道为什么?对于ASCII支持的字符串,java是否使用ASCII而不是UNICODE自动节省空间?谢谢
是否有一个插件eclipse,我可以用来测试我的运行程序成本是多少内存?
我想在运行程序后可能会有一个插件中的按钮,我可以点击它,它向我展示了我的程序的峰值内存消耗的图表.
我知道将标量传递给sub实际上是通过引用,但由于我是perl的新手,我仍然进行了以下测试:
#!/usr/bin/perl
$i = 2;
subr(\$i);
sub subr{
print $_[0]."\n";
print $$_[0]."\n";
}
Run Code Online (Sandbox Code Playgroud)
我认为第一行是打印一个地址,第二行是给回数,但第二行是空行.我被其他人指出要这样做:${$_[0]}它打印出数字.但她不知道为什么没有{}它不起作用以及为什么它与{}合作.那发生了什么?
刚刚遇到在perl中进行tab扩展的代码,这里是代码:
1 while $string =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e;
Run Code Online (Sandbox Code Playgroud)
我测试它是否正常工作,但我太了解了这一点的新手,有人想解释一下为什么它有效吗?或任何可以帮助我理解这一点的相关材料的指针将不胜感激,非常感谢.
新的perl,尝试使用它的语法,然后我收到此错误消息
$ perl testP
syntax error at testP line 3, near "$_ ("
Execution of testP aborted due to compilation errors.
Run Code Online (Sandbox Code Playgroud)
对于:
$_=$_+1 foreach $_ (@_);
Run Code Online (Sandbox Code Playgroud)
谁能告诉我出了什么问题以及如何解决?谢谢.
在开始时,我只是使用以下内容来计算每行的长度:
while(<FH>){
chomp;
$length=length($_);
}
Run Code Online (Sandbox Code Playgroud)
但是当我将我得到的结果与linux命令WC生成的结果进行比较时,我发现了一个问题:我的文件中的所有制表符都被视为1 characterperl中的长度,而它是8for wc,所以我做了以下修改:
while(<FH>){
chomp;
my $length=length($_);
my $tabCount= tr/\t/\t/;
my $lineLength=$wc-$tabCount+($tabCount*8);
}
Run Code Online (Sandbox Code Playgroud)
对于上面的代码,它现在适用于所有大多数情况,除了一个,wc并非所有选项卡都被计算在内,但只有一个没有被某些字符占用,例如,如果在一行的开头,我输入1234然后按一个标签,wc其中不计入标签,但上面的代码计算出来,有什么办法可以解决这个问题吗?谢谢
解决了它,使用了tab扩展,这里是代码:
1 while $string =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e;
$length=length($string);
Run Code Online (Sandbox Code Playgroud)
如果有人能给它一个解释,那将是很棒的,我测试它是有效的,但不太明白.无论如何,感谢所有的帮助
我有一串格式"[232] ......."我想从字符串中提取232,我做了这个
public static int getNumber(String str) {
Pattern pattern = Pattern.compile("\\[([0-9]+)\\]");
Matcher matcher = pattern.matcher(str);
int number = 0;
while (matcher.find()) {
number = Integer.parseInt(matcher.group());
}
return number;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我得到以下例外:
Exception in thread "main" java.lang.NumberFormatException: For input string: "[232]"
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何解决这个问题,如果有一种更有效的方法让我在java中进行这种模式匹配?
我需要编写一个perl程序来接受可以连接的命令行参数,例如
myPerl.pl -l -c -d same as myPerl.pl -lcd
Run Code Online (Sandbox Code Playgroud)
唯一的限制是我不能使用诸如"Getopts"之类的模块构建,任何人都知道我可以做的任何其他事情来轻松实现这一点.
perl ×6
java ×5
linux ×3
string ×2
append ×1
arguments ×1
arrays ×1
ascii ×1
character ×1
command ×1
count ×1
diff ×1
eclipse ×1
expansion ×1
for-loop ×1
foreach ×1
generics ×1
insert ×1
limit ×1
line ×1
matching ×1
memory ×1
methods ×1
monitor ×1
pipelining ×1
plugins ×1
redirect ×1
reference ×1
regex ×1
scalar ×1
simplify ×1
size ×1
syntax ×1
tabs ×1
unicode ×1
wc ×1
xargs ×1