2010-11-04 142 views
1

我希望从另一个类中的另一个方法调用的方法对象返回一个字符串。我的问题是:当我尝试将返回的值分配给其他类中的String时,它无法在类对象中找到方法对象。Java - 返回字符串

Guessing Game = new Guessing(); 

这使得使用类Guessing.Java

else if (buttonObj == guess){ 
     double g = yourGuess.getNumber(); 
      if ((g > 0)&&(g < 11)){ 
       Game.StartGame(g); 
       label3.setVisible(false); 
       yourGuess.setEnabled(false); 
       label1.setText(Game.StartGame()); 
      }else{ 
       label3.setVisible(true); 
       yourGuess.requestFocus(true); 
      } 
    } 

当我尝试获取来自Guessing.Java类中StartGame方法的字符串对象,它说,它无法找到类。

public String StartGame(double guess){ 
    int round = 1; 
    int guesses = 3; 
    String correct = "correct"; 
    if (guesses > 0){ 
     if (guess == ans){ 
      correct = "correct"; 
     }else if ((guess == ans - 1)||(guess == ans + 1)){ 
      correct = "hot"; 
      guesses--; 
     }else if ((guess == ans - 2)||(guess == ans - 2)){ 
      correct = "warm"; 
      guesses--; 
     }else{ 
      correct = "cold"; 
      guesses--; 
     } 
    }else{ 
     correct = "round"; 
    } 
    return correct;   
} 

我已经尝试了几种不同的东西,并多次看它,但没有什么工作,谁能帮助?

+0

它很好地分享完整的例外。 – 2010-11-04 03:43:03

+0

先检查你的软件包并导入。 – Steven 2010-11-04 03:45:21

回答

1

首先通过使用这些Naming Conventions来修复您的代码。

根据第一代码段更改码本,

if (buttonObj == guess){ 
     double g = yourGuess.getNumber(); 
      if ((g > 0)&&(g < 11)){ 
       String startGameStr = Game.StartGame(g); 
       label3.setVisible(false); 
       yourGuess.setEnabled(false); 
       label1.setText(startGameStr); 
      }else{ 
       label3.setVisible(true); 
       yourGuess.requestFocus(true); 
      } 
    } 
+0

谢谢,我明白了为什么我的代码现在不能工作。 – Relentless 2010-11-04 03:53:28

0

很难说明导致“找不到类别”异常的具体细节。

但有一件事我可以看到它:你所呼叫的方法:

label1.setText(Game.StartGame()); 

但方法需要double说法。

+0

我知道的很多,但不管我做了什么,即使有双重争论,我也无法得到它。 – Relentless 2010-11-04 03:55:08

0

有在猜测类两个重载方法

  1. StartGame(双G)
  2. StartGame()

似乎就像你正在调用第二种方法,当你试图分辨re将字符串转换为可能会重新调用emty字符串的标签,或者由于该方法不存在,您会收到方法找不到异常。