2016-09-30 83 views
-2

我寫的代碼是一個隨機的coinflipper,將有一個人輸入他們的猜測。我無法觸及主體中的任何東西,因爲這是作業的方向。 coin=flip();但我不能改變主任何東西:雖然當我嘗試運行它硬幣翻轉需要錯誤幫助

Error:(15, 34) java: incompatible types: void cannot be converted to java.lang.String

錯誤是發生在主在這條線我得到這個錯誤。請幫助這是今晚!這裏是我的代碼:

public class CoinFlip { 

static String side = ""; 
static String user = ""; 
static String winner = ""; 

public static void main(String args[]) {  
    String coin; 

    greeting(); 

    do 
    { 
     user=IO.getString("Would you like: (H)- Heads or (T)- Tails"); 
     coin=flip(); 
     winner=compare(user,coin); 
     output(user,coin,winner); 

    }while(repeat()); 
} 

public static void greeting() { 
    System.out.println("In a second, choose heads or tails. A coin flip will show and a winner will be shown."); 

} 
public static void flip() { 

    int random = (int) Math.floor(Math.random() * 2); 
    if (random = 0) 
     side = "H"; 
    else if (random = 1) 
     side = "T"; 
} 
public static void compare(String args[]) { 
    if (user = side) 
     winner = "Winner"; 
    else 
     winner = "Loser"; 
} 
public static void output() { 
    System.out.println(side); 
    System.out.println(winner); 
} 
public static void repeat() { 
    String again; 
    if (again = "yes") 
     main(); 
    else if (again = "no") 
     System.out.println("Thanks for playing!"); 
} 
} 
+2

'void flip()'不返回任何東西,但是當你說'coin = flip();'時,你試圖把結果賦給'coin'。你需要使'flip()'返回一個'String',或者說'flip();硬幣=邊;'。 –

+1

你應該把''「H」或''T「'''返回,但這對於void類型的方法是不可能的。改變''void flip()''''String flip()''。 – f1sh

回答

3

變化public static void flip() {public static String flip() {並添加(在flip年底)

return side; 
0

你的方法和翻轉()應返回基於結果不是 「H」 或 「T」在代碼上。 因此,flip()方法簽名需要從void返回類型更改爲String。