由于JAVA没有指针,不知这个问题怎样解决??

alornwolf 2002-12-16 04:44:17
我有这样的一个函数,我希望在字符串数组中找个某个字符的位置,把这个位置值也作为参数indexs,函数如下:
public static void find(String instr,String[] vessel,int indexs)
{
int length=vessel.length;
Vector v=new Vector();
for(int i=0;i<length;i++)
{
v.addElement(vessel[i]);
}
for(int i=0;i<v.size();i++)
{
if(instr.compareTo((String)v.elementAt(i))==0)
{
indexs=i;
break;
}
else
{
indexs=-1;
}
}
indexs++;
}
但显然这样调用是不行的
String[] vessel={"A","B","C","D","E","F"};
String tofindstr="C";
int indexs=0;
find(tofindstr,vessel,indexs);
(indexs不会被函数改变)
有什么办法能indexs既为输入参数,同时又可作输出参数?
(我想把字符的位置作为一个参数)
...全文
89 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
leibou 2002-12-21
  • 打赏
  • 举报
回复
我最喜欢指针了
prosong 2002-12-19
  • 打赏
  • 举报
回复
错:Java 中处处是指针, 而不是引用
如果是引用的话 indexs 就可以改变了

问题很好解决
函数声明:
public static void find(String instr,String[] vessel,int indexes[]){
...
indexes[0] = 结果;

}

调用:
int indexs=new int[1];
find(tofindstr,vessel,indexs);

indexs[0] 就是你的结果
wdman 2002-12-19
  • 打赏
  • 举报
回复
干脆用函数的返回值来表示字符的位置好了,何必和自己过不去呢?
alornwolf 2002-12-19
  • 打赏
  • 举报
回复
难道JAVA就不能像C++那样做吗?
maquanjun 2002-12-16
  • 打赏
  • 举报
回复
为什么不这么做? :
public static int find(String instr,String[] vessel){
....
return 1;
}


alornwolf 2002-12-16
  • 打赏
  • 举报
回复
怎没有人来救我呀,急呀!!!
alornwolf 2002-12-16
  • 打赏
  • 举报
回复
本人JAVA还没入门,谁能帮我将上面的代码改一下,急!
signboy 2002-12-16
  • 打赏
  • 举报
回复
有什么办法能indexs既为输入参数,同时又可作输出参数?
(我想把字符的位置作为一个参数)
这是参数传递中byvalue或者byref的问题,
不幸的是java对于int,char之类的类型是用byvalue
而对于object则用byref,
所以,如果非常想“输入参数,同时又可作输出参数?”,可以考虑传递一个Integer类型的参数
longaway 2002-12-16
  • 打赏
  • 举报
回复
java 所有对象引用(包括数组)都是指针。只不过不支持一般的(加、减)指针运算而已。

find(tofindstr,vessel,indexs){
indexs[0] = 12345;
}

不好意思,上面搞错了。
longaway 2002-12-16
  • 打赏
  • 举报
回复
基本类型 int, long, char 等等,包括 String 是传值的。
你这样用不行。

你可以 int [] indexs = new int[1];

find(tofindstr,vessel,indexs){
indexs[1] = 12345;
}
peyton 2002-12-16
  • 打赏
  • 举报
回复
Java处处是指针啊。你这里使用的indexs就是一个引用。当然就是输入,如果
对其修改了,那么也就是输出了啊。

Java处处是引用。引用!!!!

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧