我似乎无法在此方法中找到for循环所需的语法。我希望遍历字符串suit
中的单词。
编辑:需要注意的一点是cardArray是一个ArrayList。
public String getSuit(int card){
String suit = cardArray.get(card);
for (String word : suit){
if (word.contains("SPADES")){
suit = "SPADES";
}
}
return suit;
}
答案 0 :(得分:7)
您可以使用
for (String word : suit.split(" ")) {
可替换地:
for (String word : suit.split("\\s+")) {
这会拆分每个空格字符序列(包括制表符,换行符等)。
答案 1 :(得分:2)
尝试在空格上拆分字符串:
String suit = cardArray.get(card);
for (String word : suit.split("\\s+")){
if (word.contains("SPADES")){
suit = "SPADES";
}
}
答案 2 :(得分:0)
为什么不使用enum for suit,并将它添加到Card类或更多面向对象的东西?你甚至可以拥有一个抽象类卡或一个接口卡,它可以让你自己添加卡实例中需要的逻辑,而不是迭代进行字符串比较。
但是:String.split(String regex)应该有效,只需选择合适的regular expression。
答案 3 :(得分:0)
如果您只想替换包含“SPADES”的字符串:
public String getSuit(int card){
String suit = cardArray.get(card);
if (suit.contains("SPADES")){
cardArray.set(card, "SPADES");
}
return suit;
}
如果您想因其他原因拆分字符串suit
,请参阅其他答案