我初学者使用toString()方法返回格式化的字符串。我打印一副扑克牌,每列都是不同的套装。有没有人有任何想法?下面是我的代码有:格式化toString()
public class DeckOfCards {
public static void main(String[] args) {
int[] deck = new int[52];
//String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
String[] suits = {"Clubs","Diamonds","Hearts","Spades"};
//String[] ranks = {"Ace","King", "Queen", "Jack", "10", "9", "8", "7", "6", "5", "4", "3", "2"};
String[] ranks = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King","Ace"};
// Initialize cards
for (int i = 0; i < deck.length; i++) {
deck[i] = i;
}
// Shuffle the cards
for (int i = 0; i < deck.length; i++) {
int index = (int)(Math.random() * deck.length);
int temp = deck[i];
deck[i] = deck[index];
deck[index] = temp;
}
// Display the all the cards
for (int i = 0; i < 52; i++) {
String suit = suits[deck[i]/13];
String rank = ranks[deck[i] % 13];
System.out.println(rank + " of " + suit);
}
System.out.println("------------------------------");
for(int i=0;i<deck.length;i++){
for(int j=i;j<deck.length;j++){
if(deck[j]==51-i){
int temp = deck[i];
deck[i] = deck[j];
deck[j] = temp;
}
}
}
// Display the all the cards
for (int i = 0; i < 52; i++) {
String suit = suits[deck[i]/13];
String rank = ranks[deck[i] % 13];
System.out.printf(rank + " of " + suit + "\t");
}
}
}
我相信会在toString()方法的主要领域是在这里:
// Display the all the cards
for (int i = 0; i < 52; i++) {
String suit = suits[deck[i]/13];
String rank = ranks[deck[i] % 13];
System.out.println(rank + " of " + suit);
}
我怎么会在toString()方法使用,也实例一个可以打印这个toString()方法的对象?感谢您的时间。因此,它依次显示在桥的比赛,我想输出的是这样的:
Ace of Spades Ace of Hearts Ace of Diamonds Ace of Clubs
...
// And so on until it reaches two of clubs
做这些方式打印它像这样没有一个是多余的间隔,或者如果没有什么可以在被修改toString()让它出来呢?再次感谢您的时间。