2011-07-21 64 views
0

我是新来的Java,我不知道,如果我甚至问这个问题的权利。 我有两个空隙,在第二个我得到我的字符串,我想用它我的主要空白。 的代码是类似的东西:通过空格之间的字符串

public void onCreate(Bundle savedInstanceState) { 
shuffle(); 
//Here I want to use the string correctAnswer 
} 
public void shuffle() { 
String correctAnswer = "whatever"; 
} 

回答

6

如果要使用在第二个函数中计算的字符串,为什么要使用void?

public void onCreate(Bundle savedInstanceState) { 
    String s = shuffle(); 
    //Use s; 
} 

public String shuffle() { 
    String correctAnswer = "whatever"; 
    return correctAnswer; 
} 

你也可以将correctAnswer一个实例变量:

private String correctAnswer; 

public void onCreate(Bundle savedInstanceState) { 
    shuffle(); 
    //Use instance variable correctAnswer; 
} 

public void shuffle() { 
    correctAnswer = "whatever"; 
} 
+0

我在第二个函数中还做了很多其他的事情,不仅计算字符串correctAnswer。 –

+0

@Badr看到备用解决方案。 – Marcelo

+0

是的,谢谢你爵士!当我只有一个解决方案时,我会回答。第二种解决方案对我来说非常完美,它很有用。现在我必须阅读关于“实例变量”来更好地理解它:) –

3

你将不得不要么returnString(不再空白法)或其分配给具有方法以外范围的字符串。

private String correctAnswer; 
public void shuffle() 
{ 
    correctAnswer = "whatever"; 
} 

然后你可以在你的课堂上的其他方法中使用它。

+2

K你,这也是正确的答案! –

0

你必须返回它,如果你已经使用本地该字符串。将方法类型更改为String添加返回语句return CorrectAnswer;

然后在主调用此方法是这样的:

String answer = shuffle();

1

你既可以声明全局一样 -

String correctAnswer = ""; 

public void onCreate(Bundle savedInstanceState) { 
    shuffle(); 
    //Use it here 
} 

public void shuffle() { 
    correctAnswer = "whatever"; 
} 

但要记住的onCreate()将首先被调用,因此它会更好地返回带有shuffle()的字符串() -

public void onCreate(Bundle savedInstanceState) { 
    shuffle(); 
    System.out.print(shuffle()); 
} 

public String shuffle() { 
    correctAnswer = "whatever"; 
    return correctAnswer; 
} 
相关问题