2013-04-16 52 views
-3

我最近有一些問題... 我一直在網上一些教程,並輸入他們告訴我的代碼,我修改它一點,它不工作..這是在Java中。不能讓我的程序在java中編譯?

已編譯

package newjavastoof; 

public class NewJavaStoof { 
    private String girlName; 
    public void setName(String name) 
    { 
     girlName = name; 
    } 
    public String getName() 
    { 
     return girlName; 
    } 
    public void saying() 
    { 
     System.out.printf("your first girlfriend was %s", getName()); 
    } 
} 

,這並不編譯第11行代碼的第二部分和編碼的第一部分12

package newjavastoof; 
import java.util.Scanner; 

public class Stoof { 
    public static void main(String[] args) 
    { 
     Scanner imput = new Scanner(System.in); 
     Stoof stoofObject = new Stoof(); 
     System.out.println("Enter name of first gf here: "); 
     String temp = imput.nextLine(); 
     stoofObject.setName(temp); 
     stoofObject.saying(); 


    } 
} 

什麼是不正確嗎? 我不明白,爲什麼沒有setName或說? 我應該申報嗎?

+2

你Stoof類沒有按」包含一個setName方法。你應該創建一個NewJavaStoof的實例並在你的主要方法中使用它嗎? – tomasmcguinness

回答

3

行之後

Stoof stoofObject = new Stoof(); 

應該

NewJavaStoof stoofObject = new NewJavaStoof(); 
+0

謝謝;)沒有注意到... ... – user2237848

1

在第一段代碼中,您的類名爲NewJavaStoof,但在第二段代碼中,您使用Stoof類。

+0

+1爲第一個回答這個問題。 – CloudyMarble

0

Stoof stoofObject = new Stoof();應該

NewJavaStoof stoofObject = new NewJavaStoof();

0

你爲什麼聲明NewJavaStoof但在你的主要方法使用Stoof?我猜你應該NewJavaStoof取代所有Stoof或您NewJavaStoof類重命名爲Stoof

0

在Stoof您要呼籲stoofObject的setName是類型Stoof的。

Stoof stoofObject = new Stoof(); 
... 
stoofObject.setName(temp); 

方法setName未在Stoof上定義,而是在您的NewJavaStoof對象上定義。把Stoof改成NewJavaStoof,你就完成了。

NewJavaStoof stoofObject = new NewJavaStoof(); 
... 
stoofObject.setName(temp); 
0

創建從NewJavaStoof一個實例,而不是從Stoof .. Stoof沒有方法的setName(),並說()..

使用本NewJavaStoof stoofObject = new NewJavaStoof();