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);
                int cardsPerHand=Integer.parseInt(args);
               
                //生成一副牌(含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;
        }
}


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



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

isaacxu 发表于 2012-08-06 17:56

主要是“package chapter5;”这一句引起的,编译完Deal.java后,要将其打包在chapter5.jar里面,命令行执行时,输入:java chapter5.Deal 2 5就可以了,运行结果是:


也可以编译时进行处理,具体见与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

真不错,赞一个,继续努力啊
页: [1]
查看完整版本: java带参数运行失败的问题,Exception in thread "main"