帮个忙,我想建立一个javabean,其中有一个函数,调用这个方法有4个参数返回.不止如何设计?可否举个例子? 靠,我搞定了!我从来没看过java,搞这个不行吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我刚才在上战网,没时间仔细回,既然你搞定了,我就恭喜你喽,hehe 即使没有看过JAVA,你说的话难道不会让人误解吗? 我觉得可以这样在call里给四个变量分别赋值,然后在用getXXX来得到他们 我同意newroc兄的说法,不要搞什么数组,烦。 不烦,我到是觉得用什么getXX麻烦!其实就如第一位兄弟说的,用数组来做! 一个数组的例子:public class Assign { public int[] arrCall(int[] arr) { //used for deep copy int[] arrCopy = new int[arr.length]; for (int i=0;i<arr.length;i++) { arrCopy[i] = arr[i]; } for (int j=0;j<arrCopy.length;j++) { arrCopy[j]++; } return arrCopy; } public static void main (String args[]) { int[] arr = {1,2,3}; int[] arrReturn = new int[arr.length]; Assign a = new Assign(); arrReturn = a.arrCall(arr); for (int i=0;i<arrReturn.length;i++) { System.out.println("arrReturn[" + i + "]" + arrReturn[i] + "\n"); } }} 还可以这样做:class MyInt { public int i; public MyInt(int i){ this.i = i; } }public class Assign1 { public void ref(MyInt i1,MyInt i2,MyInt i3) { i1.i++; i2.i++; i3.i++; } public static void main (String args[]) { MyInt i1 = new MyInt(1); MyInt i2 = new MyInt(2); MyInt i3 = new MyInt(3); Assign1 a = new Assign1(); a.ref(i1,i2,i3); System.out.println("i1=" + i1.i + "\ni2=" + i2.i + "\ni3=" + i3.i); }} 其实,在作为JSP访问对象的JavaBeans中各个getXXX()/setXXX()方法,都是必须的,否则JSP中的标识<jsp:getProperty>和<jsp:setProperty>将无法使用。楼上的使用数组的方法很好,在我的程序中涉及到多值传递的问题,通常用数组(如果值的类型相同,或容易转化成String类型)或类(相当于C中的结构体的用法)。我们可以将数组整个的返回,也可以将每个需要传递的值用getXXX()方法获取。这要看你对那种方法熟悉。 that's right!同意liujun_cn(西部动力):作为一个封装很好的javabean应该是只需要留下供其他程序调用的公用接口,而隐藏自己的实施细节。所以getXXX()/setXXX()应该是必须而且是规范的。至于返回类型既然能用数组为什么还要拆开成多个变量呢,太麻烦了吧。 我觉得还是设计一个class作为函数的返回类型比较好,例如public class MyData { public int c1,c2,c3,c4; public MyData(c1,c2,c3,c4) { this.c1=c1; this.c2=c2; this.c3=c3; this.c4=c4; }}public MyData call(c1,c2,c3,c4){ return new MyData(c1+1,c2+2,c3+3,c4+4);} ®符号显示会一个问好? stringbuffer EXT Form数据提交到struts2的问题,action无法获取到form中的值 request和session问题 哪里有好点的JSP网站模板下载吗? jsp图片刷新问题(在线等待) dao注入问题,junit测试ok,但是通过webwork转发就是null,下面是代码 如何设置Tomcat让它能运行自己的jsp文件? 怎样配置javamail??? springmvc进入controller但是返回不了jsp页面,求大神解答! 紧急求救,这是什么错误? 求Jrun3.01注册码,急
public class Assign { public int[] arrCall(int[] arr) {
//used for deep copy
int[] arrCopy = new int[arr.length]; for (int i=0;i<arr.length;i++) {
arrCopy[i] = arr[i];
} for (int j=0;j<arrCopy.length;j++) {
arrCopy[j]++;
} return arrCopy;
} public static void main (String args[]) {
int[] arr = {1,2,3};
int[] arrReturn = new int[arr.length]; Assign a = new Assign();
arrReturn = a.arrCall(arr);
for (int i=0;i<arrReturn.length;i++) {
System.out.println("arrReturn[" + i + "]" + arrReturn[i] + "\n");
}
}
}
class MyInt { public int i;
public MyInt(int i){
this.i = i;
}
}public class Assign1 { public void ref(MyInt i1,MyInt i2,MyInt i3) { i1.i++;
i2.i++;
i3.i++;
} public static void main (String args[]) {
MyInt i1 = new MyInt(1);
MyInt i2 = new MyInt(2);
MyInt i3 = new MyInt(3); Assign1 a = new Assign1();
a.ref(i1,i2,i3);
System.out.println("i1=" + i1.i + "\ni2=" + i2.i
+ "\ni3=" + i3.i);
}
}
同意liujun_cn(西部动力):作为一个封装很好的javabean应该是只需要留下供其他程序调用的公用接口,而隐藏自己的实施细节。所以getXXX()/setXXX()应该是必须而且是规范的。
至于返回类型既然能用数组为什么还要拆开成多个变量呢,太麻烦了吧。
public class MyData {
public int c1,c2,c3,c4;
public MyData(c1,c2,c3,c4) {
this.c1=c1;
this.c2=c2;
this.c3=c3;
this.c4=c4;
}
}public MyData call(c1,c2,c3,c4){
return new MyData(c1+1,c2+2,c3+3,c4+4);
}