【问题标题】:Symbol varible errors and imcopatible types errors符号变量错误和不兼容类型错误
【发布时间】:2020-01-15 04:56:51
【问题描述】:

我对使用 Bluej 非常陌生,但目前正在处理一项涉及测试类和继承的任务。我目前遇到问题的测试类是 Coach。有人说 Coach 是一种不兼容的类型,无法转换为 java.lang.String。

由于我是新手,我不确定我所尝试的是否正确,但我尝试更改代码的格式,将其添加到代码本身的其他位置。

public class CoachTest extends junit.framework.TestCase 
{
   private String Coach;
   Private String coach1; 

   public void setup() 
   {
      coach1 = new Coach("Amy Blunt", "0004");
   }

   /** 
   * Tears down the test fixture. 
   *
   * Called after every test case method. 
   */ 
   protected void teardown()
   {
   }

   public void testGetName() 
   {
     assertEquals("Amy Blunt", coach1.getName()); 
   }

   public void testMembership()
   {
     assertEquals("0004", coach1.getMembership());
   }
}

我希望它在通过测试时能够正确显示会员编号和名称。

会出现三种错误信息,一种是“不兼容的类型:Coach 无法转换为 java.lang.String”,它以 public void setup() 为中心。下一个是“找不到符号 - 方法 getName()”,它以 public void testGetName() 为中心,而 public void getMembership 也有同样的错误。

【问题讨论】:

  • Coach 类的源代码是什么?它存在吗?
  • 只要声明private Coach coach1;Coach是类名,coach1是变量名。

标签: java string lang


【解决方案1】:

您将coach1 声明为String,而不是Coach。此外,您在上面有一个定义,说明“私有字符串教练”没有任何意义,因为它是一个类而不是变量名,而且似乎有比需要更多的括号(至少在您的示例中)。

这是固定代码:

public class CoachTest extends junit.framework.TestCase { 

   private Coach coach1; 


   public void setup() 

   {

      coach1 = new Coach("Amy Blunt", "0004");

   }

   /** 
   * Tears down the test fixture. 
   *
   * Called after every test case method. 
   */ 

   protected void teardown()

   {

   }

   public void testGetName() 

   {

     assertEquals("Amy Blunt", coach1.getName()); 

   }

   public void testMembership()

   {

      assertEquals("0004", coach1.getMembership());

   }
}

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-23
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多