当前位置: 首页 > 知识库问答 >
问题:

无法解析为VS Code中的类型[Java]

林和畅
2023-03-14

我在VS Code中运行我的Dog.classDogDemo.java文件时遇到了问题。我输入的完全是Java书中写的。我想出了错误:

Dog无法解析为类型

在DogDemo。main(DogDemo.java:7)

我也尝试过清理java工作区,但不起作用。

狗。类

public class Dog
{
    public String name;
    public String breed;
    public age = 0;
    

    public void writeOutput()
    {
        System.out.println("Name " + name);
        System.out.println("Breed: " + breed);
        System.out.println("Age in calendar years" + age);
        System.out.println("Age in human years" + getAgeInHumanYears());
        System.out.println();
    }

    public int getAgeInHumanYears()
    {
        int humanAge = 0;

        if (age <= 2) 
        {
            humanAge = age * 11;
        }

        else
        {
            humanAge = 22 + ((age-2) * 5);
        }

        return humanAge;
    }
}

DogDemo.java

public class DogDemo 
{
    public static void main(String[] args) 
    {
        Dog kumo = new Dog();

        kumo.name = "kumo";
        kumo.age = 42;
        kumo.breed = "Corgi";
        kumo.writeOutput();

        Dog scooby = new Dog();
        scooby.name = "Scooby";
        scooby.age = 9;
        scooby.breed = "Great Dane";
        System.out.println(scooby.name + " is a " + scooby.breed +
        ".");`
        System.out.print("He is " + scooby.age + " years old, or ");

        int humanYears = scooby.getAgeInHumanYears();
        System.out.println(humanYears + " in human years.");
    }
}

共有3个答案

劳夕
2023-03-14

class Dog {
    String name;
    String breed;
    int age;

    void writeOutput()
    {
        System.out.println("Name " + name);
        System.out.println("Breed: " + breed);
        System.out.println("Age in calendar years" + age);
        System.out.println("Age in human years" + getAgeInHumanYears());
        System.out.println();
    }

    int getAgeInHumanYears()
    {
        int humanAge = 0;

        if (age <= 2)
        {
            humanAge = age * 11;
        }

        else
        {
            humanAge = 22 + ((age-2) * 5);
        }

        return humanAge;
    }
}

DogDemo

public class DogDemo {

    public static void main(String[] args) {
        Dog kumo = new Dog();

        kumo.name = "kumo";
        kumo.age = 42;
        kumo.breed = "Corgi";
        kumo.writeOutput();

        Dog scooby = new Dog();
        scooby.name = "Scooby";
        scooby.age = 9;
        scooby.breed = "Great Dane";
        System.out.println(scooby.name + " is a " + scooby.breed + ".");
        System.out.print("He is " + scooby.age + " years old, or ");

        int humanYears = scooby.getAgeInHumanYears();
        System.out.println(humanYears + " in human years.");
    }
}

我所做的改变:

  1. 从数据类中删除了public关键字Dog
  2. 您错过了打印名称品种的主要功能
  3. 将int类型添加到Dog属性的age

请确保您的类在相同的包中,如果不是,请将其导入到您的类中。

编辑:

我想其他人也有和你一样的问题,你可以在这里找到

你也可以按照这里的步骤,这个留档是由VS代码提供的。你可以看到缺少了哪些步骤。

须志新
2023-03-14

您忘记说明变量的类型age

    public age = 0;

应该成为

    public int age = 0;

另外在DogDemo.java17-18行你有

        System.out.println(scooby.name + " is a " + scooby.breed +
        ".");`

您有一个回调,这是无效的,应该删除成为

        System.out.println(scooby.name + " is a " + scooby.breed +
        ".");
养研
2023-03-14

在Dog类中,您忘记了年龄变量的类型(可能是一个整数),因此正确答案是:

public class Dog
{
    public String name;
    public String breed;
    public int age = 0;

在你的DogDemo课程中,你有一行输入错误:

System.out.println(scooby.name + " is a " + scooby.breed +
    ".");``

分号后的 " ' " 应删除为:

System.out.println(scooby.name + " is a " + scooby.breed + ".");

然后它对我来说很好:)继续编码!

 类似资料:
  • 问题内容: 这是我得到的错误: 这是我的代码: 另外,我在一个单独的类中声明了这一点: 是什么导致此错误,我该如何解决? 编辑:缩进,空格,命名约定和可读性问题已得到解决。 问题答案: 问题在于,这似乎是一个内部类(很难说,您的缩进是不好的),并且由于它不是静态的,因此您无法单独实例化它。 您要么需要自己创建一个类,要么使其成为一个类并将其实例化为(或者无论父类是什么,您的缩进在这里实际上都没有帮

  • 我使用的是版本5.0.1 api级别21。我已在项目属性中添加了appcompat库。但我收到AppCompattivity无法解析为类型。 registerActivity.java: res/values/themes.xml: 编辑:

  • 问题内容: 尝试遵循本教程:教程 尝试像这样使用 JSONParser : 但是Eclipse给了我。 该怎么办? 问题答案: JSONParser类在本教程的下方,它看起来像这样…… 我会考虑看看杰克逊图书馆通过http://jackson.codehaus.org/

  • 我正在尝试将主题添加到我的项目中。它需要appcompat v7。 我按照Android开发者网站中提到的步骤添加了支持库。经过大量搜索,我知道支持库v4将与支持库v7冲突。 所以我从我的项目中删除了android库v4。因此,现在我得到了t错误()。 我必须做什么?请有人帮我解决这个问题。预先感谢

  • 在我的testrunner类中,当使用时,我收到一条错误消息,说“cucumberoptions不能解析为类型”。我使用的是最新版本的eclipse cucumber依赖项。通过安装和卸载eclipse,通过降低cucumber依赖项版本,我已经尝试了所有可能的方法。 我的跑者班是:

  • 我创建了一个RunTest类来使用Cucumber和JUnit运行测试场景。要运行之前的测试,我需要将RunWith类(@RunWith)导入到我的项目中,并将Cucumber.class作为参数传递。然后,类的RunWith参数识别更多传递给它的参数,不。eclipse将显示以下消息: 无法将此行类中的多个标记解析为类型。-Cucumber无法解析为类型。-注释@runwith必须定义属性值 我