【问题标题】:JAVA method getArtist in class Concert cannot be applied to given types类 Concert 中的 JAVA 方法 getArtist 不能应用于给定类型
【发布时间】:2019-10-02 23:44:39
【问题描述】:

需要测试测试代码来测试类 Concert 和 getArtist。

error: method getArtist in class Concert cannot be applied to given types
required: java.lang.String
found: no arguments
reason: actual and formal argument lists differ in length
public Concert()
{
    int m = 9;
    int d = 8;
    int y = 2019;
    String a = new String("Jonas Brothers"); 
    String v = new String("Van Andel Arena");
    int totalSales = 0;
    getArtist(a);
}

public Concert (int m, int d, int y, String a, String v) 
{
    m = 9;
    d = 8;
    y = 2019;
    a = new String("Jonas Brothers"); 
    v = new String("Van Andel Arena");
    int totalSales = 0;
 }

public String getArtist(String a)
{
    return a;
}

/******************************************************
 * Test default constructor - no input parameters
 *****************************************************/
@Test
public void testDefaultConstructor() {
    Concert concert = new Concert();
    Assert.assertEquals("Artist name should be Jonas Brothers","Jonas Brothers", 
        concert.getArtist());
    Assert.assertEquals("Venue name should be Van Andel Arena","Van Andel Arena�", 
        concert.getVenue());
    Assert.assertEquals("Month should be 9",
        9, concert.getMonth());
    Assert.assertEquals("Day should be 8",
        8, concert.getDay());
    Assert.assertEquals("Year should be 2019",
        2019, concert.getYear());
    Assert.assertEquals("Available upper tickets should be 300",
        TOTAL_NUMBER_UPPER_TICKETS, concert.getAvailableUpperTickets());
    Assert.assertEquals("Available lower tickets should be 300",
        TOTAL_NUMBER_LOWER_TICKETS, concert.getAvailableLowerTickets());
    Assert.assertEquals("Available upper tickets should be 400",
        TOTAL_NUMBER_FLOOR_TICKETS, concert.getAvailableFloorTickets());
    Assert.assertEquals("total sales should be 0.0",
        0.0, concert.getTotalSales(),0.001);

}

【问题讨论】:

  • 哪一行给出了错误?请在您的代码中标记它。
  • 我认为您需要了解fields 是什么。如果您在方法或构造函数或其他代码块中声明了变量,则它的范围仅限于该代码块。
  • 另外,如果你有像public String getArtist(String a) 这样的方法,这意味着它需要一个参数,所以像concert.getArtist() 这样的代码将无法编译。

标签: java bluej


【解决方案1】:

Concert 类中的 GetArtist 方法需要一个在单元测试调用代码中缺少的参数。因此编译失败。

【讨论】:

    猜你喜欢
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    相关资源
    最近更新 更多