我的任务是创建一个名为禁忌的游戏。它由一个主要词和3个被禁止的词组成。游戏的目的是要在屏幕上显示单词,然后用户必须描述主要单词而不使用单词本身或禁用的单词。如何将数据从CSV读取到集合中
到目前为止,我已经能够读取已存储在CSV中的数据,并使其能够在我选择输出BannedWords时这样做。现在的问题是,当它输出MainWord或BannedWord1等时,它会输出CSV中每个记录的数据。
下面是我的CSV数据(这只是一个有少量记录的测试,所以当它工作时,我可以介绍其余的)。
树,棕色,绿色,自然
湖,蓝色,水,湿
苹果,绿色,水果,健康
如果我选择了输出MainWord,这是第一个字,它输出这样的:
树
湖
苹果
我需要以某种方式存储从CSV 单独集合中读取的数据,这样,当我需要使用他们,他们正确输出,他们在这样一种方式我可以稍后在GUI JLabel中显示它们。
注意到我使用的是NetBeans,所以我也可以使用任何内置函数,这可能也很有用。
public class Card
{
private String sMainWord;
private String sBannedWord1;
private String sBannedWord2;
private String sBannedWord3;
public Card(String sMW, String sBW1, String sBW2,String sBW3)
{
sMainWord = sMW;
sBannedWord1 = sBW1;
sBannedWord2 = sBW2;
sBannedWord3 = sBW3;
}
public void setsMainWord(String sMW)
{
sMainWord = sMW;
}
public String getsMainWord()
{
return sMainWord;
}
public void setsBannedWord1(String sBW1)
{
sBannedWord1 = sBW1;
}
public String getsBannedWord1()
{
return sBannedWord1;
}
public void setsBannedWord2(String sBW2)
{
sBannedWord2 = sBW2;
}
public String getsBannedWord2()
{
return sBannedWord2;
}
public void setsBannedWord3(String sBW3)
{
sBannedWord3 = sBW3;
}
public String getsBannedWord3()
{
return sBannedWord3;
}
public static void main(String[] args) throws FileNotFoundException
{
String fileNameDefined = "/Users/student/NetBeansProjects/TabooGameComplete/CSData.csv";
File file = new File(fileNameDefined);
try
{
Scanner inputStream = new Scanner(file);
while(inputStream.hasNext() != false)
{
String TabooCardWords = inputStream.nextLine();
String[] information = TabooCardWords.split(",");
String MainWord = information[0];
String BannedWord1 = information[1];
String BannedWord2 = information[2];
String BannedWord3 = information[3];
Card TBC = new Card (MainWord, BannedWord1, BannedWord2, BannedWord3);
System.out.println("*" + BannedWord1 + "*");
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
您应该使用Commons CSV来处理您的CSV需求。它很容易使用,并会让你的生活变得更简单。 – DejaVuSansMono
我猜这是一个低水平的课程问题,这意味着标准/外部图书馆不倾向于被允许。 –