java 不支持_java不支持的操作异常

心已赠人 2022-11-06 00:03 266阅读 0赞

我想为我的代码创建三个不同的类:FutureValueApp,Validator和FinancialCalculations。但是,当我运行代码时,我收到以下错误信息,并且不知道如何解决此问题。java不支持的操作异常

==============================================================================

Exception in thread “main” java.lang.UnsupportedOperationException: Not supported yet.

at FutureValueApp.getDoubleWithinRange(FutureValueApp.java:64)

at FutureValueApp.main(FutureValueApp.java:17)

Java Result: 1

==================================================================================

这是到目前为止我的代码:

import java.util.*;

import java.text.*;

import java.util.Scanner;

public class FutureValueApp

{

public static void main(String[] args)

{

System.out.println(“Welcome to the Future Value Calculator\n”);

Scanner sc = new Scanner(System.in);

String choice = “y”;

while (choice.equalsIgnoreCase(“y”))

{

// get the input from the user

System.out.println(“DATA ENTRY”);

double monthlyInvestment = getDoubleWithinRange(sc,

“Enter monthly investment: “, 0, 1000);

double interestRate = getDoubleWithinRange(sc,

“Enter yearly interest rate: “, 0, 30);

int years = getIntWithinRange(sc,

“Enter number of years: “, 0, 100);

// calculate the future value

double monthlyInterestRate = interestRate/12/100;

int months = years * 12;

double futureValue = calculateFutureValue(

monthlyInvestment, monthlyInterestRate, months);

// get the currency and percent formatters

NumberFormat currency = NumberFormat.getCurrencyInstance();

NumberFormat percent = NumberFormat.getPercentInstance();

percent.setMinimumFractionDigits(1);

// format the result as a single string

String results =

“Monthly investment:\t”

+ currency.format(monthlyInvestment) + “\n”

+ “Yearly interest rate:\t”

+ percent.format(interestRate/100) + “\n”

+ “Number of years:\t”

+ years + “\n”

+ “Future value:\t\t”

+ currency.format(futureValue) + “\n”;

// print the results

System.out.println();

System.out.println(“FORMATTED RESULTS”);

System.out.println(results);

// see if the user wants to continue

System.out.print(“Continue? (y/n): “);

choice = sc.next();

sc.nextLine(); // discard any other data entered on the line

System.out.println();

}

}

private static int getIntWithinRange(Scanner sc, String enter_number_of_years_, int i, int i0) {

throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.

}

private static double getDoubleWithinRange(Scanner sc, String enter_monthly_investment_, int i, int i0) {

throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.

}

private static double calculateFutureValue(double monthlyInvestment, double monthlyInterestRate, int months) {

throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.

}

}

Validator类

import java.util.Scanner;

public class Validator

{

public static double getDouble(Scanner sc, String prompt)

{

double d = 0.0;

boolean isValid = false;

while (isValid == false)

{

System.out.print(prompt);

if (sc.hasNextDouble())

{

d = sc.nextDouble();

isValid = true;

}

else

{

System.out.println(“Error! Invalid decimal value. Try again.”);

}

sc.nextLine(); // discard any other data entered on the line

}

return d;

}

public static double getDoubleWithinRange(Scanner sc, String prompt,

double min, double max)

{

double d = 0.0;

boolean isValid = false;

while (isValid == false)

{

d = getDouble(sc, prompt);

if (d <= min)

System.out.println(

“Error! Number must be greater than “ + min + “.”);

else if (d >= max)

System.out.println(

“Error! Number must be less than “ + max + “.”);

else

isValid = true;

}

return d;

}

public static int getInt(Scanner sc, String prompt)

{

int i = 0;

boolean isValid = false;

while (isValid == false)

{

System.out.print(prompt);

if (sc.hasNextInt())

{

i = sc.nextInt();

isValid = true;

}

else

{

System.out.println(“Error! Invalid integer value. Try again.”);

}

sc.nextLine(); // discard any other data entered on the line

}

return i;

}

public static int getIntWithinRange(Scanner sc, String prompt,

int min, int max)

{

int i = 0;

boolean isValid = false;

while (isValid == false)

{

i = getInt(sc, prompt);

if (i <= min)

System.out.println(

“Error! Number must be greater than “ + min + “.”);

else if (i >= max)

System.out.println(

“Error! Number must be less than “ + max + “.”);

else

isValid = true;

}

return i;

}

}

FinancialCalculations类

public class FinancialCalculations

{

public static double calculateFutureValue(double monthlyInvestment,

double monthlyInterestRate, int months)

{

double futureValue = 0;

for (int i = 1; i <= months; i++)

{

futureValue =

(futureValue + monthlyInvestment) *

(1 + monthlyInterestRate);

}

return futureValue;

}

}

我知道 “私人UnsupportedOperationException异常” 不应该是包括为了使代码正常工作,我需要公开,但这是如此混乱。

发表评论

表情:
评论列表 (有 0 条评论,266人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java支持运算符重载

    写在前面 > java是不支持运算符重载,在使用类的时候会出现一些使用的不舒服因为这一点不像c++一样用的那么流畅,语法上java会比较的啰嗦。 理解 c++的运