Chinaunix
标题:
java带参数运行失败的问题,Exception in thread "main"
[打印本页]
作者:
mreanew
时间:
2012-08-05 23:58
标题:
java带参数运行失败的问题,Exception in thread "main"
本帖最后由 mreanew 于 2012-08-06 23:53 编辑
程序代码如下(根据书本输入的,我认为没有错误):
package chapter5;
import java.util.*;
class Deal {
public static void main(String args[]){
int numHands=Integer.parseInt(args[0]);
int cardsPerHand=Integer.parseInt(args[1]);
//生成一副牌(含52张牌)
String[] suit=new String[]{"spades","hearts","diamonds","clubs"};
String[] rank=new String[]
{"ace","2","3","4","5","6","7","8","9","10","jack","queen","king"};
List<String> deck=new ArrayList<String>();
for(String ss:suit)
for(String sr:rank)
deck.add(sr+" of "+ss);
Collections.shuffle(deck); //随机改变deck中元素的排列次序,即洗牌
for(int i=0;i<numHands;i++)
System.out.println(dealHand(deck,cardsPerHand)); //生成一张手牌并将其输出
}
public static List dealHand(List<String> deck,int n){
int deckSize=deck.size();
//从deck中截取一个子链表
List<String> handView=deck.subList(deckSize-n, deckSize);
List<String> hand=new ArrayList<String>(handView); //利用该子链表创建一个链表
handView.clear(); //将子链表清空
return hand;
}
}
执行后有如下错误,看图:
hey.jpg
(208.31 KB, 下载次数: 15)
下载附件
按书本的命令“ java Deal 2 5” 运行 ,运行抛出的异常。
2012-08-05 23:55 上传
问:该当如何解决?谢谢!我是一个菜鸟,希望大家会帮忙。
作者:
isaacxu
时间:
2012-08-06 17:56
主要是“package chapter5;”这一句引起的,编译完Deal.java后,要将其打包在chapter5.jar里面,命令行执行时,输入:java chapter5.Deal 2 5就可以了,运行结果是:
[king of clubs, 7 of diamonds, 4 of hearts, 9 of clubs, ace of hearts]
[king of hearts, 2 of diamonds, 9 of hearts, 8 of diamonds, 5 of spades]
也可以编译时进行处理,具体见与ClassPath相关的内容 或者干脆删除“package chapter5;”这一句就可以了。在Eclipse里没那么麻烦,只需在Run Configurations里的参数部分输入2 5 就可以运行了。上述是在Xubuntu12.04下的情况,其他系统也许会略有不同。
作者:
mreanew
时间:
2012-08-06 23:52
回复
2#
isaacxu
谢谢你,因为你的答案,我解决了这个问题,正确学会了简单又重要的两种带参数运行方式。我用eclipse编译运行的。你是我的救星,现在可以继续学习了。
作者:
dyllove98
时间:
2012-08-07 17:46
刚开始学习的时候尽量直接使用Eclipse自带的功能.
作者:
lloydm
时间:
2012-08-14 11:15
提示:
作者被禁止或删除 内容自动屏蔽
作者:
_Rayx
时间:
2012-08-14 13:40
Eclipse写java还是挺好用的。虽然很从时候写工程用myeclipse.
作者:
tulip0425
时间:
2012-08-17 12:28
真不错,赞一个,继续努力啊
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2