TS
Sample Code
// src/dividendLife.ts
class DividendLife {
    private livingExpenses: number; // Monthly
    private dividendYield: number; // Annual yield
    constructor(livingExpenses: number, dividendYield: number) {
        this.livingExpenses = livingExpenses;
        this.dividendYield = dividendYield;
    }
    calcRequiredAmount(): number {
        // requiredAmount * (dividendYield / 100) / 12 = livingExpenses
        const requiredAmount: number = this.livingExpenses / (this.dividendYield / 100 / 12);
        return requiredAmount;
    }
}
export default DividendLife;
// src/main.ts
import DividendLife from "./dividendLife";
const main = () => {
    const args = process.argv.slice(2);
    console.log({ args });
    const livingExpenses = Number(args[0]);
    const dividendYield = Number(args[1]);
    if (isNaN(livingExpenses) || isNaN(dividendYield)) {
        console.log("Please enter two numeric args");
    }
    const dividendLife = new DividendLife(livingExpenses, dividendYield);
    const requiredAmount =  dividendLife.calcRequiredAmount();
    console.log("The amount needed is " + requiredAmount.toLocaleString());
}
main();
How to run
npm i ts-node typescript
ts-node ./src/main.ts 1700 3
The first argument is the amount needed per mongh.
The second argument is the dividend yield (%).
Java
Example Code
// src/main/java/DividendLife.java
public class DividendLife {
    public static void main(String[] args) {
        float livingExpenses = (float)Integer.parseInt(args[0]);
        float dividendYield = (float)Integer.parseInt(args[1]);
        DividendLife dividendLife = new DividendLife(livingExpenses, dividendYield);
        float requiredAmount = dividendLife.calcRequiredAmount();
        System.out.println(requiredAmount);
    }
    private float livingExpenses;
    private float dividendYield;
    DividendLife(float livingExpenses, float dividendYield) {
        setLivingExpenses(livingExpenses);
        setDividendYield(dividendYield);
    }
    public float calcRequiredAmount() {
        // requiredAmount * (dividendYield / 100) / 12 = livingExpenses
        return this.livingExpenses / (this.dividendYield / 100 / 12);
    }
    public void setLivingExpenses(float livingExpenses) {
        this.livingExpenses = livingExpenses;
    }
    public void setDividendYield(float dividendYield) {
        this.dividendYield = dividendYield;
    }
}
How to run (IntelliJ)
Open the "Edit run configuration".

run

    
Top comments (0)