Java 读取一组卡片的文本文件并替换字符串

Java 读取一组卡片的文本文件并替换字符串,java,playing-cards,Java,Playing Cards,我对如何开始这项工作感到困惑,我必须找到一种方法来读取输入文件并替换字符串,然后将其写入输出文件。中的输入文件是一副卡片 IN:2-H 输出:两颗心的值=2 IN:1-C 输出:1-C中的卡列无效 英寸:7*C OUT:7*C中的分隔符无效 IN:X*Y 输出:X*Y中无法识别的格式 IN:A-C 出局:俱乐部王牌价值=1或价值=11 IN:Q-H 输出:红心皇后值=10 我建议测试驱动一个函数来进行映射。文件读取/写入是很容易查找的 试驾会导致以下情况: 测验: 类别: 您只需继续添加测试即可

我对如何开始这项工作感到困惑,我必须找到一种方法来读取输入文件并替换字符串,然后将其写入输出文件。中的输入文件是一副卡片

IN:2-H 输出:两颗心的值=2 IN:1-C 输出:1-C中的卡列无效 英寸:7*C OUT:7*C中的分隔符无效 IN:X*Y 输出:X*Y中无法识别的格式 IN:A-C 出局:俱乐部王牌价值=1或价值=11 IN:Q-H 输出:红心皇后值=10
我建议测试驱动一个函数来进行映射。文件读取/写入是很容易查找的

试驾会导致以下情况:

测验: 类别:
您只需继续添加测试即可覆盖所有必需的功能。

我不知道如何使用它@韦斯顿还有别的办法。我已经有了一个读取文本文件的方法,但我不知道如何编写一个方法,将卡片组重写为另一个文件。@daman我已经为您启动了这个,卡片类。考试只是完成考试的最好方式,但你不必继续。我将尝试另一种方式谢谢你的帮助@weston
public class CardsTests {

    @Test
    public void TwoOfHearts() {
        Assert.assertEquals("Two of hearts (value = 2)", Card.fromString("2-H"));
    }

    @Test
    public void ThreeOfHearts() {
        Assert.assertEquals("Three of hearts (value = 3)", Card.fromString("3-H"));
    }

    @Test
    public void ThreeOfSpades() {
        Assert.assertEquals("Three of spades (value = 3)", Card.fromString("3-S"));
    }

}
public class Card {

    public static String fromString(String string) {
        char value = string.charAt(0);
        String textValue = valueToText(value);
        String suit = getSuit(string.charAt(2));
        return String.format("%s of %s (value = %c)", textValue, suit,
                value);
    }

    private static String getSuit(char value) {
        switch (value) {
        case 'H':
            return "hearts";
        case 'S':
            return "spades";
        default:
            return "";
        }
    }

    private static String valueToText(char value) {
        switch (value) {
        case '2':
            return "Two";
        case '3':
            return "Three";

        default:
            return "";
        }
    }
}