Java Homework错误

时间:2012-02-07 02:26:38

标签: java

我在简短的代码中不断出错。我不确定有什么问题,你可以帮帮我吗?

代码:

import java.util.Scanner;


public class Driver {
private int age, carValue, tickets;



public getInfo(){
    Scanner in = new Scanner(System.in);
    System.out.println("Enter Age: ");
    age = in.nextInt();
    System.out.println("Enter Car Value: ");
    carValue = in.nextInt();
    System.out.println("Enter the number of tickets you have: ");
    tickets = in.nextInt();
}





}

这是我的主要内容:

class Main
{   public static void main(String args[])
{   
    Driver john;
    john = new Driver();
    john.getInfo();

}
}

我的错误是:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The method getInfo() is undefined for the type Driver

at Main.main(Main.java:6)

好的,我现在已经更新了,但仍然会出错。

5 个答案:

答案 0 :(得分:10)

你必须放置代码:

Scanner in = new Scanner(System.in);

System.out.println("Enter Age: ");
age = in.nextInt();

在某种方法或构造函数中。

答案 1 :(得分:2)

尝试:

public class Driver {
private int age, carValue, tickets;
Scanner in;

public Driver()
{
this.in = new Scanner(System.in);

System.out.println("Enter Age: ");
this.age = in.nextInt();
}

}

答案 2 :(得分:2)

您的getInfo方法声明不完整 - 它需要返回类型。请改为public void getInfo()

答案 3 :(得分:1)

class Main
{   
    public static void main(String args[])
    {   
        Driver john;
        john = new Driver();
    }
}

应该看起来像这样,你不需要两个类,它只会使事情变得复杂,并且违反高内聚松散耦合的原则。

class Driver
{   
    private int age;
    private int carValue;
    private int tickets;

    public void setAge(final int age)
    {
       this.age = age;
    }

    public static void main(final String args[])
    {   
        final Driver john = new Driver();

        final Scanner in = new Scanner(System.in);

        System.out.println("Enter Age: ");
        john.setAge(in.nextInt());

    }
}

答案 4 :(得分:0)

仔细看看Reteif的回答。你原来的代码很棒!!您只需将返回类型'void'添加到getinfo()。

在您发布的代码中,您将getInfo声明为这样。

public getInfo(){
//code stuff
}

什么时候应该是这样的:

public void getInfo(){
//code stuff
}

我已经使用这个小修补程序编译了你发布的代码,它运行正常。 :)