运行此代码后,我只得到空格,甚至不打印"ABC"
..
import java.io.*;
class Str{
public static void main( String args[])
{
String a = "abc";
char ch[] = new char[2];
a.getChars(0,0,ch,1);
PrintWriter pw = new PrintWriter(System.out);
pw.println(ch);
pw.println("ABC");
pw.println(ch);
System.out.println(ch);
}
}
答案 0 :(得分:2)
getChars使用参数(int srcBegin,int srcEnd,char [] dest,int destBegin)。你的srcBegin和srcEnd都是0。 在你的情况下,srcBegin需要为0,但srcEnd需要为3。
这有效:
def self.search(params)
promotions = Promotion.all
????
end
你需要一个长度为3而不是2的字符数组,所以将a.getChars(0,3,ch,0);
更改为char ch[]=new char[2]
仅将第一个字符复制到索引1处的ch数组中:
char ch[]=new char[3]
答案 1 :(得分:1)
似乎你缺少调用pw.flush()
,然后出现了一些东西。那应该是你的计划的结果。您可能必须根据此Java tutorial更改String.getChars()
方法中的参数,因为您正在接收一个空数组。
String a="abc";
char ch[]=new char[2];
a.getChars(1,2,ch,1); //Put indexes to first 2 positions to mark srcBegin, srcEnd
PrintWriter pw=new PrintWriter(System.out);
pw.println(ch);
pw.println("ABC");
pw.println(ch);
pw.flush();