如何在对象中创建toString方法?

import java.util.ArrayList; public class Card { int number; String suit; public Card(int number, String suit) { this.number = number; this.suit = suit; @Override public String toString() { String[] high = { "Jack", "Queen", "King" }; String type; if (number < 10) { return String.valueOf(this.number) + " of " + this.suit; } else { return high[this.number-10] + " of " + this.suit; } //return suit + " of " + type; //return String.valueOf(number) + " of " + suit; } } public static void main(String[] args) { String[] suit = { "Clubs", "Diamonds", "Spades", "Hearts" }; // String[] high = { // "Jack", // "Queen", // "King" // }; ArrayList deckOfCards = new ArrayList(52); for (int j = 0; j < 4; j++) { for (int i = 0; i < 13; i++) { deckOfCards.add(new Card (i+1, suit[j])); currentCard.toString(); } } // @Override // public String toString(Card card) { // // this.suit = suit; // this.number = number; // // String type; // // if (number < 10) { // type = Integer.toString(number); // } // else { // type = high[i-number]; // } // // return suit + " of " + type; // } // currentCard.toString(); } } 

一切都有效,除了Card类中的toString方法。 不是100%确定问题是什么,错误信息是

Card.java:13:错误:’;’ 期望的public String toString(){

任何帮助表示感谢谢谢

你的toString()方法在你的Card(int number, String suite)构造函数中。 把它移出去。

String method位于类Card的构造函数内部,将其移到外面以便您可以使用它,因此您可以拥有有效的Card constr

将toString放在构造函数之外。

  public Card(int number, String suit) { this.number = number; this.suit = suit; } @Override public String toString() { String[] high = { "Jack", "Queen", "King" }; String type; if (number < 10) { return String.valueOf(this.number) + " of " + this.suit; } else { return high[this.number-10] + " of " + this.suit; } } 

你的toString()方法在你的构造函数中;

这是更正后的代码

 public class Card { int number; String suit; public Card(int number, String suit) { this.number = number; this.suit = suit; } @Override public String toString() { String[] high = { "Jack", "Queen", "King" }; String type; if (number < 10) { return String.valueOf(this.number) + " of " + this.suit; } else { return high[this.number-10] + " of " + this.suit; } //return suit + " of " + type; //return String.valueOf(number) + " of " + suit; } // your main starts from here.. 

如果您在eclipse ctrl + shift + f中,请不要忘记格式化