2011-08-06 80 views
0

我似乎無法得到第二種方法的價值,請教我如何我仍然是這個初學者。我必須使用不同的變量嗎?如果是這樣,我該如何將該方法的返回值分配給所述變量?如何將變量分配給靜態方法的return語句?

import java.util.Scanner ; 

class JavaChip 
{ 

    static Scanner s = new Scanner(System.in) ; 
    static double val ; 


    public static void main(String[] args) 
    { 
     displayLine() ; 
     System.out.print ("Enter number of cups of Mocha JavaChip: "); 
     val = getMocha(s.nextDouble()) ; 
     System.out.print ("The grams of mocha is: " + val) ; 

     System.out.print ("\nThe grams of sugar is: " + val) ; 
     displayLine() ; 
    } 

    static double getMocha (double c) 
    { 
     return (1.215 * c) ; 
    } 

    static double getSugar (double c) 
    { 
     val = (0.15 * c) ; 
     return val ; 
    } 

    static void displayLine() 
    { 
     System.out.println("\n\n[][][][][][][][][][][][][][][][][][][]") ; 
     System.out.println("[][][][][][][][][][][][][][][][][][][]") ; 
    } 

} 
+0

這個腳本有什麼問題? – Naor

+0

你在哪裏打電話getSugar? – Mark

+0

該代碼似乎爲我工作 –

回答

5

如果你想使用你必須調用它的方法的價值。

val = getSugar(num); 

使用靜態字段傳遞參數或返回值是不好的做法。這很可能導致混淆,併成爲微妙的多線程錯誤的原因。
1.文件,其中將包括像displayLine顯示器的主要功能和輔助功能:它不是像你getMocha()

1

做其實你應該SAPARATE項目分爲兩個文件剛剛返回值也更復雜。
2.文件將代表您的項目(JavaChip?)的業務。

例子:

Program.java:

class Program 
{ 
    public static void main(String[] args) 
    { 
     displayLine() ; 
     System.out.print ("Enter number of cups of Mocha JavaChip: "); 
     Scanner s = new Scanner(System.in) ; 
     JavaChip jc=new JavaChip(); 
     double val = jc.getMocha(s.nextDouble()) ; 
     System.out.print ("The grams of mocha is: " + val) ; 
     val = jc.getSugar(s.nextDouble()); 
     System.out.print ("\nThe grams of sugar is: " + val) ; 
     displayLine() ; 
    } 

    static void displayLine() 
    { 
     System.out.println("\n\n[][][][][][][][][][][][][][][][][][][]") ; 
     System.out.println("[][][][][][][][][][][][][][][][][][][]") ; 
    } 
} 

JavaChip.java:

class JavaChip 
{ 
    public JavaChip() 
    { 

    } 

    public double getMocha (double c) 
    { 
     return (1.215 * c) ; 
    } 

    public double getSugar (double c) 
    { 
     val = (0.15 * c) ; 
     return val ; 
    } 
} 
1

你的代碼是100%correct.Just你是不是調用一個getSugar(雙值)方法。只要按照您爲getMocha(double值)所做的操作即可。然後您可以獲得返回值。

+0

看到教授只是教我們如何以不同的方式使用靜態。他說不好的做法是讓所有東西都是靜態的,但稍後他會教我們。我必須制定一些方法而不是許多方案。抱歉。 :(num是什麼意思在val = getSugar(num); – Gen

+0

{ displayLine(); System.out.print(「輸入摩卡JavaChip的杯數:」); val = getMocha(s。 ); System.out.print(「摩爾克數是:」+ val); \t \t val = getSugar(s.nextDouble()); System.out.print(「\ n克糖是:「+ val); displayLine(); }當我把它和getMocha一樣傳遞給它時,它會要求輸入,基本上我需要做的是1個輸入,2個輸出。 。:( – Gen

+0

如果我沒有錯,它是問你兩個輸入,但你想它應該問一個輸入,並與這個值它應該給兩個輸出。是這樣嗎? –

相關問題