如何遍历文本文件并每两行返回一个卡片对象?

罗西

因此,我有一个这样的文本文件格式,我试图将其转换为单张卡片并将它们放入数组中,并在下面放置了文本文件和类以向您展示我的所作所为:

a
h
2
h
3
h
4
h
5
h
6
h
7
h
8
h
9
h
t
h
j
h
q
h
k
h
a
d
2
d
3
d
4
d
5
d
6
d
7
d
8
d
9
d
t
d
j
d
q
d
k
d
a
c
2
c
3
c
4
c
5
c
6
c
7
c
8
c
9
c
t
c
j
c
q
c
k
c
a
s
2
s
3
s
4
s
5
s
6
s
7
s
8
s
9
s
t
s
j
s
q
s
k
s

因此,现在在注释的帮助下,我添加了以下类:

卡片:

public class Card {
    public String number;
    public String suit;

    public Card(String n, String s) {
        number = n;
        suit = s;
    }

    @Override
    public String toString() {
        return number + suit;
    }
}

和甲板(目前未完成)-

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class Deck {
  private ArrayList < Card > cards;

  public Deck() {
    cards = new ArrayList < Card > ();
  }

  public List < Card > buildDeck() throws IOException {

    List < String > cardLines = Files.readAllLines(Paths.get("cards.txt"));

    // build card objects
    List < Card > result = new ArrayList < Card > ();
    for (int i = 0; i < cardLines.size(); i += 2) { //if lines read are smaller than file then read for another card
      cards.add(new Card(cardLines.get(i), cardLines.get(i + 1))); //add new card to cards array
    }
    return result;
  }

  /*public void shuffle() {
        // fill in
    }*/

}

这将是我的GUI类-

import java.util.Scanner;

public class Game {
  public Scanner scan;

  public void runMenu() {
    String response;
    do {
      printMenu();
      System.out.println("What would you like to do:");
      scan = new Scanner(System.in);
      response = scan.nextLine().toUpperCase();
      switch (response) {
        case "1":
          buildDeck();
          break;
        case "2":
          ShuffleCards();
          break;
        case "3":
          DealCard();
          break;
        case "4":
          MoveToPrevious();
          break;
        case "5":
          Move2PilesBack();
          break;
        case "6":
          AmalgamateInMiddle();
          break;
        case "7":
          PlayforMe();
          break;
        case "8":
          ShowLowScores();
        case "Q":
          break;
        default:
          System.out.println("Try again");
      }
    } while (!(response.equals("Q")));
  }

  private void ShowLowScores() {
    // TODO Auto-generated method stub
  }

  private void PlayforMe() {
    // TODO Auto-generated method stub
  }

  private void AmalgamateInMiddle() {
    // TODO Auto-generated method stub
  }

  private void Move2PilesBack() {
    // TODO Auto-generated method stub
  }

  private void MoveToPrevious() {
    // TODO Auto-generated method stub
  }

  private void DealCard() {
    // TODO Auto-generated method stub
  }

  private void ShuffleCards() {
    // TODO Auto-generated method stub
  }

  private void buildDeck() {
    // TODO Auto-generated method stub
  }

  private void printMenu() {
    System.out.println("1 -  Print the pack ");
    System.out.println("2 -  Shuffle");
    System.out.println("3 -  Deal a card");
    System.out.println("4 -  Move last pile onto previous one");
    System.out.println("5 -  Move last pile back over two piles");
    System.out.println("6 -  Amalgamate piles in the middle");
    System.out.println("7 -  Play for me");
    System.out.println("8 -  Show low scores");
    System.out.println("q - Quit");
  }
}

因此,在我的其他错误现在似乎已得到解决,并且已经通过注释获得了帮助之后,如何将卡座类中的arraylist打印到我的GUI类选项1中,谢谢!

Shar1er80

您可以从文件中检索卡。

public static void main(String[] args) throws Exception {
    List<String> cardLines = Files.readAllLines(Paths.get(yourCardFile));

    // Build your card objects from the file
    List<Card> cards = new ArrayList<>();
    for (int i = 0; i < cardLines.size(); i += 2) {
        cards.add(new Card(cardLines.get(i), cardLines.get(i + 1)));
    }

    // Print the cards out
    for (Card card : cards) {
        System.out.println(card);
    }

    // Do what you need to do after you have your cards
}

public static class Card {
    public String number;
    public String suit;

    public Card(String n, String s) {
        number = n;
        suit = s;
    }

    @Override
    public String toString() {
        return number + suit;
    }
}

结果(并非所有的卡都被截屏):

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将文本文件的前两行复制到另一个文本文件的批处理文件

来自分类Dev

Bathc文件遍历文本文件并根据每一行创建两个变量

来自分类Dev

有效地删除一个非常大的文本文件的最后两行

来自分类Dev

如何遍历一个文本文件以打印到另一个文本文件?

来自分类Dev

比较两个文本文件文件并返回第一个差异所在的行和列

来自分类Dev

如何在C#中提取文本文件每一行的第一个单词

来自分类Dev

读取两个文本文件,连接每一行

来自分类Dev

c ++如何从文本文件中将一行分成两行,然后分别存储到两个不同的数组中?

来自分类Dev

如何从linux shell脚本中的文本文件合并同一行中的两行

来自分类Dev

在文本文件中打印最后两行

来自分类Dev

用另一个文件的每一行填充文本文件中的空白行

来自分类Dev

Unix一线在多个文本文件中交换/转置两行?

来自分类Dev

如何将文本文件中的每两个以下单词作为json返回?

来自分类Dev

如何在Matlab的文本文件中的两行上读取破折号?

来自分类Dev

如何将两行或更多行从文本文件到使用php的变量?

来自分类Dev

如何摆脱多个文本文件的前两行?

来自分类Dev

循环遍历文本文件并使用bash对每一行执行If Then语句

来自分类Dev

遍历文本文件并在每一行上打开URL

来自分类Dev

遍历文本文件中的每一行并添加到列表框

来自分类Dev

[Python]将两个文本文件合并为一个(一行一行)

来自分类Dev

从文本文件的每一行中删除第一个字符

来自分类Dev

向文本文件php中的每一行添加一个字符

来自分类Dev

解析文本文件,以便将每一行存储为一个数组值

来自分类Dev

读取文本文件的每一行并获取第一个拆分字符串

来自分类Dev

将文本文件的每一行存储到一个数组中并删除\n

来自分类Dev

提取文本文件每一行的第一个带引号的字符串

来自分类Dev

如何制作一个返回JavaScript中本地文本文件值的函数?

来自分类Dev

如何将一个文本文件与大约二十六个其他文本文件进行比较,并在有匹配项时打印出每一行的某些列?

来自分类Dev

如何有效地从文本文件的每一行读取第一个字符?

Related 相关文章

  1. 1

    将文本文件的前两行复制到另一个文本文件的批处理文件

  2. 2

    Bathc文件遍历文本文件并根据每一行创建两个变量

  3. 3

    有效地删除一个非常大的文本文件的最后两行

  4. 4

    如何遍历一个文本文件以打印到另一个文本文件?

  5. 5

    比较两个文本文件文件并返回第一个差异所在的行和列

  6. 6

    如何在C#中提取文本文件每一行的第一个单词

  7. 7

    读取两个文本文件,连接每一行

  8. 8

    c ++如何从文本文件中将一行分成两行,然后分别存储到两个不同的数组中?

  9. 9

    如何从linux shell脚本中的文本文件合并同一行中的两行

  10. 10

    在文本文件中打印最后两行

  11. 11

    用另一个文件的每一行填充文本文件中的空白行

  12. 12

    Unix一线在多个文本文件中交换/转置两行?

  13. 13

    如何将文本文件中的每两个以下单词作为json返回?

  14. 14

    如何在Matlab的文本文件中的两行上读取破折号?

  15. 15

    如何将两行或更多行从文本文件到使用php的变量?

  16. 16

    如何摆脱多个文本文件的前两行?

  17. 17

    循环遍历文本文件并使用bash对每一行执行If Then语句

  18. 18

    遍历文本文件并在每一行上打开URL

  19. 19

    遍历文本文件中的每一行并添加到列表框

  20. 20

    [Python]将两个文本文件合并为一个(一行一行)

  21. 21

    从文本文件的每一行中删除第一个字符

  22. 22

    向文本文件php中的每一行添加一个字符

  23. 23

    解析文本文件,以便将每一行存储为一个数组值

  24. 24

    读取文本文件的每一行并获取第一个拆分字符串

  25. 25

    将文本文件的每一行存储到一个数组中并删除\n

  26. 26

    提取文本文件每一行的第一个带引号的字符串

  27. 27

    如何制作一个返回JavaScript中本地文本文件值的函数?

  28. 28

    如何将一个文本文件与大约二十六个其他文本文件进行比较,并在有匹配项时打印出每一行的某些列?

  29. 29

    如何有效地从文本文件的每一行读取第一个字符?

热门标签

归档