Java 在JOptionPane中显示数组(字符串)的内容
这里有三个类,它们请求输入,并且应该在对话框中显示字符串数组 第1类:Java 在JOptionPane中显示数组(字符串)的内容,java,arrays,string,swing,Java,Arrays,String,Swing,这里有三个类,它们请求输入,并且应该在对话框中显示字符串数组 第1类: public class Card { public int rank; public int suit; public String rankName; public String suitName; public String cardName; public Card () { rank = 0; suit = 0; rankName = ""; suitNa
public class Card {
public int rank;
public int suit;
public String rankName;
public String suitName;
public String cardName;
public Card () {
rank = 0;
suit = 0;
rankName = "";
suitName = "";
cardName = "";
}
public int getRank() {
return rank;
}
public void setRank(int rank) {
this.rank = rank;
}
public int getSuit() {
return suit;
}
public void setSuit(int suit) {
this.suit = suit;
}
public String getRankName() {
return rankName;
}
public void setRankName(String rankName) {
this.rankName = rankName;
}
public String getSuitName() {
return suitName;
}
public void setSuitName(String suitName) {
this.suitName = suitName;
}
public String getCardName() {
return cardName;
}
public void setCardName(String cardName) {
this.cardName = cardName;
}
}
类2-这是我应该在其中输出已存储在数组中的字符串的类。我认为我在做泛型部分是正确的,但我不喜欢这样做。请指导我打印所有这些
import javax.swing.JOptionPane;
public class Deck {
public void assignIntegerValues(Card card) {
//Card card = new Card();
String[] suitNameArray = {"Clubs", "Spades", "Hearts", "Diamonds"};
String[] rankNameArray = {"Ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King"};
List<Card> cardName = new ArrayList();
card.setSuitName (suitNameArray[card.getSuit()-1]);
card.setRankName (rankNameArray[card.getRank()-1]);
card.setCardName (card.getSuitName() + "-" + card.getRankName());
JOptionPane.showMessageDialog(null, card.cardName);
}
public void displayAll (Card card) {
for (int i=0; i<card.cardName.length(); i++) {
String print = JOptionPane.showMessageDialog(null, card.cardName[i]);
}
}
}
我试图显示用户输入的卡片名
public void displayAll (Card[] cards) {
String output = "";
for (int i=0; i<cards.length(); i++) {
output += cards[i].getCardName() + "\n";
}
JOptionPane.showMessageDialog(null, output);
}
您需要将一个数组传递到displayAll,否则您只有一张卡
然后在实际创建JOptionPane之前构建输出字符串
您需要将一个数组传递到displayAll,否则您只有一张卡
然后在实际创建JOptionPane之前构建输出字符串。另一种方法取决于拥有一个集合的牌组,每个新牌都添加到该集合中:
class Deck {
private List<Card> cards = new ArrayList<Card>();
...
}
然后displayAll变得非常简单:
public void displayAll() {
JOptionPane.showMessageDialog(null,
new JScrollPane(new JList(cards.toArray())));
}
另一种方法取决于拥有一个集合的牌组,每个新牌都添加到该集合中:
class Deck {
private List<Card> cards = new ArrayList<Card>();
...
}
然后displayAll变得非常简单:
public void displayAll() {
JOptionPane.showMessageDialog(null,
new JScrollPane(new JList(cards.toArray())));
}
你想展示什么?你好,先生。我正在尝试显示用户输入的卡片名。另请参见。@ConorSherman,我添加了List cardName=new ArrayList,我认为这与cardName有关。addsomething这里,我不知道语法。您想显示什么?您好,先生。我正试图显示用户输入的卡片名。另请参见。@ConorSherman,我添加了List cardName=new ArrayList,我认为这与cardName有关。addsomething这里,我只是不知道语法。哦,我明白了。非常感谢你!如果我要在另一个DisplayDeck类中调用displayAll,参数应该是什么?谢谢一排卡片。卡片[]卡片=新卡片[此处的大小];卡片[0]=新卡片。。。哦,我明白了。非常感谢你!如果我要在另一个DisplayDeck类中调用displayAll,参数应该是什么?谢谢一排卡片。卡片[]卡片=新卡片[此处的大小];卡片[0]=新卡片。。。非常感谢你!公共字符串toString是否属于类别卡?当我运行程序时,JOptionPane不显示任何内容。是的,我选择在卡中覆盖toString。老实说,我的最初也没有显示任何东西。我忘了把每张新卡都加到名单上。对不起,我想我不明白。我不知道你指的是哪一加?像这样添加卡片。添加卡片;?很抱歉,我是Java新手。但是谢谢你!是,卡片=新卡片;cards.addcard,注意单数;如果您使用上面的通用声明,您不必强制转换卡来添加它。谢谢!我应该把这些放在赋值整型值里面吗?因为Eclipse说复制局部变量卡,所以我将两次出现的卡更改为card1,但仍然不起作用。即使我把它放在里面。我很抱歉,谢谢你,非常感谢!公共字符串toString是否属于类别卡?当我运行程序时,JOptionPane不显示任何内容。是的,我选择在卡中覆盖toString。老实说,我的最初也没有显示任何东西。我忘了把每张新卡都加到名单上。对不起,我想我不明白。我不知道你指的是哪一加?像这样添加卡片。添加卡片;?很抱歉,我是Java新手。但是谢谢你!是,卡片=新卡片;cards.addcard,注意单数;如果您使用上面的通用声明,您不必强制转换卡来添加它。谢谢!我应该把这些放在赋值整型值里面吗?因为Eclipse说复制局部变量卡,所以我将两次出现的卡更改为card1,但仍然不起作用。即使我把它放在里面。我很抱歉,谢谢你。