某类中有变量定义如下:String[] a;
public String[]getA() {
return a;
}
public void setA(String[] a) {
this.a= a;
}现给数组a附值,将数组B中的前N个元素附给a;
即:
**.setA(B);
请问如何实现?
public String[]getA() {
return a;
}
public void setA(String[] a) {
this.a= a;
}现给数组a附值,将数组B中的前N个元素附给a;
即:
**.setA(B);
请问如何实现?
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
public class Test {
public static void main(String[] args){
String[] s={"ddd","ddd","fff","ll"};
T t1=new T();
t1.setA(s);
System.out.println(t1);
}
}class T{
private String[]a;
public Boolean setA(String[]arg){
a=new String[arg.length];
for(int i=0;i<arg.length;i++){
a[i]=new String(arg[i]);
}
return true;
}
public String toString(){
StringBuffer s=new StringBuffer();
for(int i=0;i<a.length;i++){
s.append(a[i]);
}
return s.toString();
}
}lz试试
public Boolean setA(String[]arg,int n){
a=new String[n];
for(int i=0;i<n;i++){
a[i]=new String(arg[i]);
}
return true;
}
先要给其附值。既不能为其指定空间,也不能在加多余的参数
public String[]getA() {
return a;
}
public void setA(String[] a) {
this.a= a;
}
public void print(){
for(int i=0;i<this.getA().length;i++)
System.out.print(a[i]+" ");
}
System.out.println();
}
public class Test{
public static void main(String [] args){
ArrayCopy arrayCopy = new ArrayCopy();
String [] arr = new String[N];
for(int i=0;i<arr.length;i++)
arr[i]=B[i]; //取的B数组的前N个元素 存放在arr数组中
arrayCopy.setA(arr); //将arr当参数,给a数组
//输出a数组
arrayCopy.print();
}
}
没其他参数你这怎么保证将数组B中的前N个给a,这N值怎么定?要么就把数组B全给A就得了,方法如下: public void setA(String[] b) {
String[] a = new String[b.length];
System.arraycopy(b, 0, a, 0, b.length);
this.a = a;
}