如何添加Java中两个不同方法中的两个变量?

问题描述 投票:0回答:3

我需要制作一个使用两种不同方法的程序。第一种方法添加 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

    }
}
java methods
3个回答
0
投票

只需返回它们然后添加

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);
    }
}

0
投票

有几个选项:

  1. AB
    返回
    D
    XY
    返回
    Z
    并处理这些结果。
static void methodAB(){
  //do stuff
  return d;
}
public static void main(String[] args) {
    float res = methodAB() + methodXY();
}
  1. 使用类/实例变量
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();
  }
}

0
投票

也许您可以为方法 methodAB 和 methodXY 定义一个返回值?

© www.soinside.com 2019 - 2024. All rights reserved.