gpt4 book ai didi

java - 字符串数组不显示在 JOptionPane 中

转载 作者:行者123 更新时间:2023-12-01 19:02:22 26 4
gpt4 key购买 nike

这些类在编译时的最终工作要求输入,并且应该在对话框中显示字符串数组。

一等座

public class Card {

private int rank;
private int suit;
private String rankName;
private String suitName;
private 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;
}

public String toString() {
return cardName;
}

}



二等。我感谢垃圾之神这一点。然而,问题就在这里。它不在对话框中显示字符串数组。它什么也不显示。

import java.util.*;

import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;

public class Deck {

public List<Card> cards = new ArrayList<Card>();

public void assignIntegerValues(Card card) {
String[] suitNameArray = {"Clubs", "Spades", "Hearts", "Diamonds"};
String[] rankNameArray = {"Ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King"};

card.setSuitName (suitNameArray[card.getSuit()-1]);
card.setRankName (rankNameArray[card.getRank()-1]);
card.setCardName (card.getSuitName() + "-" + card.getRankName());
JOptionPane.showMessageDialog(null, card.getCardName());
Card card1 = new Card();
cards.add(card1);
}

public void displayAll() {
JOptionPane.showMessageDialog(null, new JScrollPane(new JList(cards.toArray())));
}


}



三级

import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;

public class DisplayDeck {

public static List<Card> cards = new ArrayList<Card>();

public static void main(String[] args) {

Card card = new Card();
Deck deck = new Deck();
int answer;
String again;
String[] nameOfCards;

do {
String suitString = JOptionPane.showInputDialog("Suit: ");
card.setSuit (Integer.parseInt(suitString));

String rankString = JOptionPane.showInputDialog("Rank: ");
card.setRank (Integer.parseInt(rankString));

deck.assignIntegerValues(card);
String answerString = JOptionPane.showInputDialog("Try again? (1/0) ");
answer = Integer.parseInt(answerString);

} while (answer == 1);

deck.displayAll();

}
}

非常感谢!

最佳答案

该问题与未显示的数组(或更好的 ArrayList)无关。问题是该列表一开始就没有有用的信息,因此没有什么可以显示的。

代码只是执行您编写的操作。您不会将任何带有任何有意义信息的卡片添加到您的套牌中。查看您在 Deck 的 List<Card> 中添加任何内容的位置:

Card card1 = new Card(); 
cards.add(card1);

您每次都添加一个默认的 Card 对象,但没有添加任何有意义的信息。所有有意义的信息都被丢弃。由于这是作业,我会请您重新思考如何做得更好。

关于java - 字符串数组不显示在 JOptionPane 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11751675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com