我需要制作一个使用两种不同方法的程序。第一种方法添加 a + b + c = d,而第二种方法添加 x + y = z。然后它必须打印出 d 和 z 以及 d + z 的总和。该程序必须接受用户的输入。
我知道你不能在方法之外调用变量,那么有什么解决方法吗?它必须遵循我之前所说的说明
我缺少添加 d 和 z 的部分,这是我当前的程序:
import java.util.Scanner;
public class myProgram {
static void methodAB(){
Scanner myScan = new Scanner(System.in);
System.out.println("Enter A: ");
float A = myScan.nextFloat();
System.out.println("Enter B: ");
float B = myScan.nextFloat();
System.out.println("Enter C: ");
float C = myScan.nextFloat();
float D = A + B + C;
System.out.println("Sum of MethodAB: " + D);
}
static void methodXY(){
Scanner myScan = new Scanner(System.in);
System.out.println("Enter X: ");
float X = myScan.nextFloat();
System.out.println("Enter Y: ");
float Y = myScan.nextFloat();
float Z = X + Y;
System.out.println("Sum of MethodXY: " + Z);
}
public static void main(String[] args) {
methodAB();
methodXY();
//this is the part im stuck on
//i cant call variables d and z so i cant add them together
}
}
只需返回它们然后添加
public class MyProgram {
static float methodAB() {
Scanner myScan = new Scanner(System.in);
System.out.println("Enter A: ");
float A = myScan.nextFloat();
System.out.println("Enter B: ");
float B = myScan.nextFloat();
System.out.println("Enter C: ");
float C = myScan.nextFloat();
float D = A + B + C;
System.out.println("Sum of MethodAB: " + D);
return D;
}
static float methodXY() {
Scanner myScan = new Scanner(System.in);
System.out.println("Enter X: ");
float X = myScan.nextFloat();
System.out.println("Enter Y: ");
float Y = myScan.nextFloat();
float Z = X + Y;
System.out.println("Sum of MethodXY: " + Z);
return Z;
}
public static void main(String[] args) {
float dResult = methodAB();
float zResult = methodXY();
float sumResult = dResult + zResult;
System.out.println("Sum of D and Z: " + sumResult);
}
}
有几个选项:
AB
返回 D
和 XY
返回 Z
并处理这些结果。static void methodAB(){
//do stuff
return d;
}
public static void main(String[] args) {
float res = methodAB() + methodXY();
}
public class MyClass {
private float d;
private float z;
void methodAB(){
//do stuff
float D = A + B + C;
this.d = D;
}
void methodXY(){
//do stuff
float Z = X + Y;
this.z = Z;
}
void sum() {
System.out.println("sum - " + (this.d + this.z));
}
//or define getters for d and z and use them
public static void main(String[] args) {
MyClass myClass = new MyClass();
myClass.methodAB();
myClass.methodXY();
myClass.sum();
}
}
也许您可以为方法 methodAB 和 methodXY 定义一个返回值?