Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';我正在用java创建一个洗牌程序_Java - Fatal编程技术网

I';我正在用java创建一个洗牌程序

I';我正在用java创建一个洗牌程序,java,Java,我正在用java创建一个洗牌程序。我该如何退出呢。我是否通过系统执行此操作。退出(0); 您可以/应该考虑创建一个卡对象。 接下来,使用2个嵌套for循环填充列表。 最后,使用Collections.shuffle(list) 你可以考虑创建一个卡对象。 接下来,使用2个嵌套for循环填充列表。 最后,使用Collections.shuffle(list) 非常有趣的学习计划。当你弄明白这一点时,我强烈建议你重新考虑一下,创建一个更面向对象的设计(即,制作一个卡片对象并使用它们) 看起来问题在

我正在用java创建一个洗牌程序。我该如何退出呢。我是否通过系统执行此操作。退出(0);

您可以/应该考虑创建一个卡对象。

接下来,使用2个嵌套for循环填充列表。 最后,使用Collections.shuffle(list)


<>你可以考虑创建一个卡对象。

接下来,使用2个嵌套for循环填充列表。 最后,使用Collections.shuffle(list)


非常有趣的学习计划。当你弄明白这一点时,我强烈建议你重新考虑一下,创建一个更面向对象的设计(即,制作一个卡片对象并使用它们)

看起来问题在于,您错误地定义了Deck对象,然后没有实际使用它。请注意,洗牌实际上并不影响牌组本身(它应该是
d.deck
)!我现在要做的是放弃甲板对象的想法,直接使用一个类、一组数据和方法。一旦你搞定了,想一想如何使用单独的Deck对象来概括它。一旦你有了这些,试着把卡片本身归纳成一个卡片类


如果您感到困惑,请随时问我问题,我很乐意提供帮助。

非常有趣的学习计划。当你弄明白这一点时,我强烈建议你重新考虑一下,创建一个更面向对象的设计(即,制作一个卡片对象并使用它们)

看起来问题在于,您错误地定义了Deck对象,然后没有实际使用它。请注意,洗牌实际上并不影响牌组本身(它应该是
d.deck
)!我现在要做的是放弃甲板对象的想法,直接使用一个类、一组数据和方法。一旦你搞定了,想一想如何使用单独的Deck对象来概括它。一旦你有了这些,试着把卡片本身归纳成一个卡片类


如果您感到困惑,请随时向我提问,我很乐意提供帮助。

您之所以只能发出一个命令,是因为您正在关闭扫描仪。位于的文档表明,当您这样做时,它也会关闭底层流。因此,在关闭扫描仪后,您将无法获得更多输入。
您应该将扫描仪初始化移到while循环之外,并且永远不要关闭它。

您只能发出一个命令的原因是您正在关闭扫描仪。位于的文档表明,当您这样做时,它也会关闭底层流。因此,在关闭扫描仪后,您将无法获得更多输入。 您应该将扫描仪初始化移到while循环之外,并且永远不要关闭它。

Read@Ivan answer。 完成后,将
扫描器
移出循环,并将其与一些简洁的Java7特性()结合起来,以解决您的问题

try (Scanner s = new Scanner(System.in)) {
   while (true) {
      System.out.println ("shuffle or draw");
      Scanner s = new Scanner(System.in); 
      System.out.println ("What would you like to do?"); 
      String command = s.next( ); 

      if (command.equals("shuffle")) {
         d.shuffle();
      } else if (command.equals("draw")){
         d.draw();
      } 
   }      
}
阅读@Ivan答案。 完成后,将
扫描器
移出循环,并将其与一些简洁的Java7特性()结合起来,以解决您的问题

try (Scanner s = new Scanner(System.in)) {
   while (true) {
      System.out.println ("shuffle or draw");
      Scanner s = new Scanner(System.in); 
      System.out.println ("What would you like to do?"); 
      String command = s.next( ); 

      if (command.equals("shuffle")) {
         d.shuffle();
      } else if (command.equals("draw")){
         d.draw();
      } 
   }      
}

圣坏压痕,蝙蝠侠。这有什么原因吗?圣坏压痕,蝙蝠侠。这有什么原因吗?告诉我。唯一的问题是,对于
rank
suit
(请参阅一个很好的示例)我会使用枚举而不是字符串@AnthonyAccioly:当然,但由于这看起来像是一个介绍编程类型的东西,所以我选择不深入研究rank和suit枚举(它们要好得多)。唯一的问题是,对于
rank
suit
(请参阅一个很好的示例)我会使用枚举而不是字符串@AnthonyAccioly:当然,但由于这看起来像是一个介绍编程类型的东西,所以我选择不深入研究rank和suit枚举(它们更好)