Как я могу использовать переменные из класса в другом классе в Java - PullRequest
0 голосов
/ 04 мая 2020

Я очень новичок в java. Я пишу эту программу, которая рассчитывает сложный и простой проценты и некоторые другие вещи, которые я добавлю в будущем.

Синтаксис-

Данные класса

import java.util.Scanner;
public class DATA {
    public static void main(String[] args) {
        Scanner m=new Scanner(System.in);
        System.out.println("What do you want to calculate SI/CI");
        String choice=m.nextLine();
        {
            if (choice.equalsIgnoreCase("si") || choice.equalsIgnoreCase("ci"))
                Interest.var();
            if (choice.equalsIgnoreCase("si")){
                Interest.ci();
            }
        }


    }
}

Класс Проценты

import java.util.Scanner;

public class Interest {
    public static void var(){
        Scanner m=new Scanner(System.in);
        System.out.println("Enter the principle");
        double p=m.nextDouble();
        System.out.println("Enter the rate");
        double r=m.nextDouble();
        System.out.println("Enter the time");
        double t=m.nextDouble();
    }
     public static void si(double p, double r, double t){
        double si=(p*r*t)/100;
        System.out.println("The Simple Interest is "+si);
    }
    public static void ci(double p, double r, double t){
        double ci=p*Math.pow((1+(r/100)),(t))-p;
        System.out.println("The Compound Interest is "+ci);
    }
}

Я создал метод с именем var в классе Процентов, который запрашивает принцип и другие данные для расчета. Поэтому, если пользователь просит вычислить CI / SI, он импортирует метод var и задает вопросы. Теперь я не могу понять, как использовать эти переменные для расчета. Я надеюсь, что вы, ребята, можете помочь мне, критика и предложения приветствуются, но если вы можете помочь мне с текущей проблемой, это было бы более чем полезно, и снова я действительно новичок в java

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

Когда вы определяете класс в JAVA, обычно, если у вас есть переменные, которые вы используете в более чем одной функции, вы определяете их как глобальные переменные для этого класса и используете методы getters и setters для их получения или установки, например:

import java.util.Scanner;

public class Interest {

    private double p;
    private double r;
    private double t;
    ......
    public void setP(double p){this.p=p;}
    public void setR(double r){this.r=r;}
    public void setT(double t){this.t=t;}
    public double getP(){return p;}
    public double getR(){return r;}
    public double getT(){return t;}
}

Однако ваш код может выглядеть следующим образом:

import java.util.Scanner;

public class Interest {
    private double p;
    private double r;
    private double t;
    public static void var(){
        Scanner m=new Scanner(System.in);
        System.out.println("Enter the principle");
        p=m.nextDouble();
        System.out.println("Enter the rate");
        r=m.nextDouble();
        System.out.println("Enter the time");
        t=m.nextDouble();
    }
     public static void si(){
        double si=(p*r*t)/100;
        System.out.println("The Simple Interest is "+si);
    }
    public static void ci(){
        double ci=p*Math.pow((1+(r/100)),(t))-p;
        System.out.println("The Compound Interest is "+ci);
    }
}
0 голосов
/ 04 мая 2020

Создайте приватные переменные p, r и t внутри класса Interest. Создайте конструктор и передайте 3 значения. Поэтому, если вы вызываете метод si () или ci (), вы можете просто использовать this.p, this.r и this.t для вычисления. Вы также можете удалить параметры в методах si () и ci ().

...