Java 变量-编译器不';I don’我不在乎我输入的数字
我试着做一个基本的程序,可以做一些数学计算,我想让它使用方法。起初,它要求输入两个数字,然后进行计算,但我不知道为什么无论输入什么数字,它总是返回“0”。我需要在代码中更改什么?这样我的程序就可以进行这些计算了Java 变量-编译器不';I don’我不在乎我输入的数字,java,Java,我试着做一个基本的程序,可以做一些数学计算,我想让它使用方法。起初,它要求输入两个数字,然后进行计算,但我不知道为什么无论输入什么数字,它总是返回“0”。我需要在代码中更改什么?这样我的程序就可以进行这些计算了 import java.util.Scanner; public class Z1k7 { static double a; static double b; static double sum; static double difference; static double prod
import java.util.Scanner;
public class Z1k7
{
static double a;
static double b;
static double sum;
static double difference;
static double product;
static double quotient;
public class Operations{
double sum (double a, double b){
return a+b;
}
double difference (double a, double b){
return a-b;
}
double product (double a, double b){
return a*b;
}
double quotient (double a, double b){
return a/b;
}}
public static void main(String[] args) {
System.out.println("This programme makes some calculations");
Scanner scan = new Scanner(System.in);
System.out.println("Enter the first number ");
a = scan.nextDouble();
System.out.println("Enter the second number ");
b = scan.nextDouble();
System.out.println("The sum: "+sum);
System.out.println("The difference: "+difference);
System.out.println("The product: "+product);
System.out.println("The quotient: "+quotient);
}
}像您的
double sum (double a, double b){
return a+b;
}
有两个值,a和b。这些值与您声明为的值无关
static int a;
static int b;
在你们班。它们只是同名而已。这可能会引起混乱
你必须调用你的方法来进行实际的计算,比如
int resultFromSummation = sum(a,b);
这里a和b是您的类变量。这些a和b称为实际参数。它们将被复制到方法内部的a和b(称为*形式参数)
即
- 您必须在接受anb的输入后调用这些方法
- 将结果赋给变量
- 然后输出结果
0
。在打印变量之前,请设置它们
System.out.println("This programme makes some calculations");
Scanner scan = new Scanner(System.in);
System.out.println("Enter the first number ");
a = scan.nextDouble();
System.out.println("Enter the second number ");
b = scan.nextDouble();
// --- New code ------------
// Since the operations are in a different class you need to
// create an instance of that class
Operations ops = new Operations();
sum = ops.sum( a, b );
difference = ops.difference( a, b );
product = ops.product( a, b );
quotient = ops.quotient( a, b );
// end new code --------------
System.out.println("The sum: "+sum);
System.out.println("The difference: "+difference);
System.out.println("The product: "+product);
System.out.println("The quotient: "+quotient);
另外,由于操作
实际上不需要实例来执行这些操作,因此可以创建静态方法:
public class Operations{
public static double sum (double a, double b){
return a+b;
}
// ...
}
然后在不创建实例的情况下调用它们:
// --- New code ------------
sum = Operations.sum( a, b );
difference = Operations.difference( a, b );
product = Operations.product( a, b );
quotient = Operations.quotient( a, b );
// end new code --------------
教程: