2012-02-07 19 views
0

私の非常に短い、簡単なコードでエラーが発生し続ける。何が間違っているのか分からない、私を助けてくれますか?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) 

[OK]を、私は今それを更新している、と私はまだエラーが発生します。メソッドまたはコンストラクタのいくつかの種類の内側

Scanner in = new Scanner(System.in); 

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

+0

すべてのメソッドは、戻り値の型を持たなければなりません。つまり、何も返さない場合、つまり:void ' –

答えて

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(); 
} 

} 
+0

これはうまくいきました。 – stytown

+0

問題はありません。また、「受け入れる」ことを覚えておいてください。それが問題を解決するのに役立つなら、受け入れ率が下がると魔女は将来、助けを得るのが難しくなります。 – warbio

+0

確かに、それは私が受け入れる前に数分待たなければならないと言いました。 – stytown

10

あなたは、コードを配置する必要があります。

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

は次のようになります、あなたはそれだけで不必ずしも物事を複雑にし、高い凝集疎結合の校長に違反する2つのクラスを必要としません。

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()); 

    } 
} 
+0

彼はすでに彼のmainfunctionにメインを持っています。 – warbio

+0

それは彼らがそれをやっているように必要ではありません、これはより粘着的です。 –

2

あなたgetInfoメソッドの宣言が不完全である - それは、戻り値の型を必要とします。代わりにpublic void getInfo()を試してください。

0

Reteifの答えを詳しく見てください。元のコードは素晴らしい作品です! getinfo()に戻り値の型 'void'を追加するだけです。

あなたが投稿したコードには、このように宣言されたgetInfoがあります。私はあなたがこの小さな修正を掲示し、それが正常に動作し、コードをコンパイルした

public void getInfo(){ 
//code stuff 
} 

:それはこのようにする必要があり

public getInfo(){ 
//code stuff 
} 

。 :)