Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 到底什么叫args[0]没有传参?

importjava.io.*;importjava.security.*;importjava.security.cert.Certificate;publicclas... import java.io.*;
import java.security.*;
import java.security.cert.Certificate;
public class SetKeyPass{
public static void main(String args[ ]) throws Exception{
String name="mykeystore";
String alias=args[0];
char[ ] storepass="20085217".toCharArray();
char[ ] oldkeypass=args[1].toCharArray();
char[ ] newkeypass=args[2].toCharArray();

FileInputStream in=new FileInputStream(name);
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,storepass);
Certificate[ ] cchain=ks.getCertificateChain(alias);
PrivateKey pk=(PrivateKey)ks.getKey(alias,oldkeypass);
ks.setKeyEntry(alias,pk,newkeypass,cchain);
in.close();
FileOutputStream output=new FileOutputStream("other");
ks.store(output,storepass);
output.close();
}
}
我知道问题出在第七行,并且查阅其他资料貌似原因是args[0]没有传参,但是到底这句话什么意思?
展开
 我来答
DragonVS2010
2011-05-04 · TA获得超过124个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:180万
展开全部
数组 ArrayList List的数据存在是: arg[0]开始的,10个数的数组:arg[0]--arg[9]
String alias=args[0]; 该语句执行时,args[0]中没有,取值即报异常
追问
那怎样让args[0]里有呢?
追答
进行赋值啊。
args[0]=**;//你想要的值。
百度网友00dbe5c
2011-05-04 · TA获得超过104个赞
知道答主
回答量:77
采纳率:0%
帮助的人:82.7万
展开全部
用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。
这里应该是args[0]没有值
这种错误一般就关注下数组的大小 很好改的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捌伍侯
2011-05-04 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:117万
展开全部
在控制台运行的时候传两个字符串参数进去 如:javac SetKeyPass nihao1 nihao2
追问
太棒了,谢谢你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式