有关java数组的一个问题

koda 2002-03-05 04:31:15
String[] actionsList = new String[4];
actionsList[0] = "a";
actionsList[1] = "b";
actionsList[2] = "c";
actionsList[3] = "d";

String[] actionparas = new String[2];
actionparas[0] = "a";
actionparas[1] = "d";
if(actionparas!=null)
{
for(int i=0; i<actionparas.length;i++)
{
for(int j=0;j<actionsList.length;j++)
{
if(actionparas[i].equals(actionsList[j])){
actionsList[j]="";//不知道为什么这句话对结果没有影响
}
}
}
for(int j=0;j<actionsList.length;j++)
{
if(!actionsList[j].equals("")){
System.out.println(actionsList[j});
}
}
打印结果是
a
b
c
d
...全文
85 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
furarmy 2002-03-05
  • 打赏
  • 举报
回复
我也试了,没有问题的。
不过你的代码中有一处}应改为]。
iamfancy 2002-03-05
  • 打赏
  • 举报
回复
你看看,我没有改你的代码嘛,就是排了一下版,现在的输入就是

b
c

是不是你期望的结果?
对了,你那个程序中倒数三行的反方括号写成反花括号了。

/**
* @(#) Test.java
* @author fancy
*/

public class Test {

public static void main(String[] args) {

String[] actionsList = new String[4];
actionsList[0] = "a";
actionsList[1] = "b";
actionsList[2] = "c";
actionsList[3] = "d";

String[] actionparas = new String[2];
actionparas[0] = "a";
actionparas[1] = "d";
if(actionparas!=null) {
for (int i=0; i < actionparas.length; i++) {
for (int j=0; j < actionsList.length; j++){
if(actionparas[i].equals(actionsList[j])){
actionsList[j]="";
}
}
}
for(int j=0; j < actionsList.length; j++) {
if(!actionsList[j].equals("")) {
System.out.println(actionsList[j]);
}
}
}
}

}
bread213 2002-03-05
  • 打赏
  • 举报
回复
是输出
bread213 2002-03-05
  • 打赏
  • 举报
回复
我也试了,小改一下就没什么问题了,
public class test {
public static void main(String []args){
String[] actionsList = new String[4];
actionsList[0] = "a";
actionsList[1] = "b";
actionsList[2] = "c";
actionsList[3] = "d";

String[] actionparas = new String[2];
actionparas[0] = "a";
actionparas[1] = "d";
if(actionparas!=null) {
for(int i=0; i< actionparas.length;i++) {
for(int j=0;j< actionsList.length;j++) {
if(actionparas[i].equals(actionsList[j])){
actionsList[j]="";//不知道为什么这句话对结果没有影响
}
}
}
for(int j=0;j< actionsList.length;j++) {
if(!actionsList[j].equals("")){
System.out.println(actionsList[j]);
}
}
}
}
}

输入:
b
c
Eddie 2002-03-05
  • 打赏
  • 举报
回复
TO koda (求知)
有影响的吧,
如果没有
“actionsList[j]="";//不知道为什么这句话对结果没有影响”
这一条,结果是
b
c
如果加上了,结果就是
a
b
c
d

我想应该是你要求的吧,不清楚你放在什么地方,我只是放在Main中。

/***************************************************************/

TO yuchao1981(与)
请问兄台,
请教一下你写这句的含义是什么?我看不懂。拜托
if(actionparas.length> 0) instead of if(actionparas!=null)



yuchao1981 2002-03-05
  • 打赏
  • 举报
回复
if(actionparas.length>0) instead of if(actionparas!=null)
Luke_cn 2002-03-05
  • 打赏
  • 举报
回复
我试了,没问题呀
zfluo 2002-03-05
  • 打赏
  • 举报
回复
可以的,
不过这句有问题,}应该改为]
System.out.println(actionsList[j});

23,407

社区成员

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

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