免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2223 | 回复: 6
打印 上一主题 下一主题

java带参数运行失败的问题,Exception in thread "main" [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-05 23:58 |只看该作者 |倒序浏览
本帖最后由 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;
        }
}


执行后有如下错误,看图:



问:该当如何解决?谢谢!我是一个菜鸟,希望大家会帮忙。

论坛徽章:
0
2 [报告]
发表于 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下的情况,其他系统也许会略有不同。

论坛徽章:
0
3 [报告]
发表于 2012-08-06 23:52 |只看该作者
回复 2# isaacxu

谢谢你,因为你的答案,我解决了这个问题,正确学会了简单又重要的两种带参数运行方式。我用eclipse编译运行的。你是我的救星,现在可以继续学习了。

   

论坛徽章:
0
4 [报告]
发表于 2012-08-07 17:46 |只看该作者
刚开始学习的时候尽量直接使用Eclipse自带的功能.

论坛徽章:
0
5 [报告]
发表于 2012-08-14 11:15 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2012-08-14 13:40 |只看该作者
Eclipse写java还是挺好用的。虽然很从时候写工程用myeclipse.

论坛徽章:
0
7 [报告]
发表于 2012-08-17 12:28 |只看该作者
真不错,赞一个,继续努力啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP