java - 卡说明方法使用不当? java

标签 java methods substring

我正在编写一个程序,它接受用户输入来打印卡片的完整描述。 (即 4S = 黑桃 4) 完成 Card 类后,我尝试使用它通过 getDescription 方法返回卡片的描述,但它无法编译。

import java.util.*;

public class CardDescription {


public static void main(String[] args) {
Card c1 = new Card("KS");
System.out.println("Your card is" + c1.getDescription());
}}

public class Card {
private String value;
private String suite;
private String string1;
private String string2;

public Card(String s1){
value = s1.substring(0, 1);
suite = s1.substring(1);
}
public String getDescription(){
if (value.equalsIgnoreCase("A")){
    string1 = "Ace";
}
else if(value.equalsIgnoreCase("K")){
    string1 = "King";
}
else if(value.equalsIgnoreCase("Q")){
    string1 = "Queen";
}
else if(value.equalsIgnoreCase("J")){
    string1 = "Jack";
}
else if(value.equals("10")){
    string1 = "Ten";
}
else if(value.equals("9")){
    string1 = "Nine";
}
else if(value.equals("8")){
    string1 = "Eight";
}
else if(value.equals("7")){
    string1 = "Seven";
}
else if(value.equals("6")){
    string1 = "Six";
}
else if(value.equals("5")){
    string1 = "Five";
}
else if(value.equals("4")){
    string1 = "Four";
}
else if(value.equals("3")){
    string1 = "Three";
}
else if(value.equals("2")){
    string1 = "Two";
}

if(suite.equalsIgnoreCase("D")){
    string2 = "Diamonds";
}
else if(suite.equalsIgnoreCase("H")){
    string2 = "Hearts";
}
else if(suite.equalsIgnoreCase("S")){
    string2 = "Spades";
}
else if(suite.equalsIgnoreCase("C")){
    string2 = "Clubs";
}

return string1 + " of " + string2;         
}
}

感谢任何帮助,谢谢。

最佳答案

如果两个类位于同一个源文件中,则它们不能都是公共(public)的。将 Card 类移至 Card.java 或使其不公开。

如果这些类不在同一个文件中,则它们应该属于同一个包,或者您应该导入 Card 类以便在 CardDescription 类中使用它。

除此之外,您的代码可以正常工作。

关于java - 卡说明方法使用不当? java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31096683/

相关文章:

java - 如何使用 .substring 方法从索引开始并在其后获取 x 数字或字符?

java - Android Xml解析 "embedded values"

ruby - Ruby 方法应该返回 nil 还是空对象

java - 如何在 Java 中比较 2 个列表

dynamic - C#中的方法参数可以是动态的吗

c++ - endl 是一种方法吗?如果是,它可以接受参数吗?

xslt - XSL-从路径字符串中删除文件名

Java正则表达式-用不带分隔符的相同子字符串替换分隔符之间的子字符串

java - Sharepoint Web 服务抛出 Microsoft.SharePoint.SoapServer.SoapServerException

java - 在 LibGDX 中定位 WidgetGroup