我似乎无法获得第二种方法的价值,请教我如何在这方面仍然是初学者。我是否必须使用其他变量?如果是这样,我如何将该方法的返回值分配给所述变量?
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 :(得分:5)
如果您想使用方法的值,您必须调用它。
val = getSugar(num);
使用静态字段传递参数或返回值是不好的做法。这可能会引起混淆并导致细微的多线程错误。它也比仅使用getMocha()
答案 1 :(得分:1)
实际上你应该将你的项目分成两个文件:
1.包含显示主要功能和帮助功能的文件,如displayLine
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 ;
}
}
答案 2 :(得分:1)
您的代码是100%正确的。只是您没有调用getSugar(double value)方法。就像你对getMocha(double value)所做的一样。然后你可以获得返回值。