2011-07-21 69 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; 
} 
相關問題