Java 无论用户输入什么,输出都保持在2000

Java 无论用户输入什么,输出都保持在2000,java,Java,1) 更改程序,以便用户必须输入初始余额和利率。假设用户将以整数形式输入利率(例如,“5”表示5%的利率)。假设用户输入的初始余额仅为数字-无逗号。2) 更改代码以显示一项投资需要多少年才能增加三倍 我已经输入了扫描仪,用户可以输入余额和利息。无论用户输入什么,它都输出2000 import java.util.Scanner; public class InvestmentRunner { public static void main(String[] args) { Scanne

1) 更改程序,以便用户必须输入初始余额和利率。假设用户将以整数形式输入利率(例如,“5”表示5%的利率)。假设用户输入的初始余额仅为数字-无逗号。2) 更改代码以显示一项投资需要多少年才能增加三倍

我已经输入了扫描仪,用户可以输入余额和利息。无论用户输入什么,它都输出2000

 import java.util.Scanner;
public class InvestmentRunner
{
 public static void main(String[] args)
{ 
  Scanner in = new Scanner(System.in);
  System.out.print("Please Enter Initial Balance:");
  String Balance = in.next();
  System.out.print("Please Enter Interest Rate:");
  String Interest = in.next();

  final double INITIAL_BALANCE = 10000;
  final double RATE = 5;
  Investment invest = new Investment(INITIAL_BALANCE, RATE);
  invest.waitForBalance(2 * INITIAL_BALANCE);
  int years = invest.getYears();
  System.out.println("The investment doubled after "
        + years + " years");


  }   
}  

根据提问者的评论:
无论用户输入什么,输出都保持在2000

在这些行中,您正在构造一个
Investment
对象,调用该对象上的方法,然后打印值

Investment invest = new Investment(INITIAL_BALANCE, RATE);
invest.waitForBalance(2 * INITIAL_BALANCE);
int years = invest.getYears();
System.out.println("The investment doubled after " + years + " years");
您还没有发布
Investment
类,所以我只能假设这些方法都是好的。问题在于:

final double INITIAL_BALANCE = 10000;
final double RATE = 5;
这些是要发送给
投资
构造函数的变量。您硬编码的常量。同时,这是您获取用户输入的地方:

System.out.print("Please Enter Initial Balance:");
String Balance = in.next();
System.out.print("Please Enter Interest Rate:");
String Interest = in.next();

您取
余额
(应该是
余额
),然后取
利息
(应该是
利息
),然后对这些值不做任何处理。您需要从这些
字符串中解析一个
double
,然后将它们作为参数发送给构造函数。

它是否正常工作?那你就走对了…
StackOverflow
不是让自卑的人安心的地方。。。(毕竟,互联网的一个子集也是如此)。它用于发布带有特定问题的问题,并寻求解决这些特定问题的方法。继续努力,当你遇到实际问题时再回来。不管用户输入什么,输出都保持不变2000@user2934105那么你的问题应该问一下。如果不帮他完成整个作业,我真的无法提供更多的答案……不,我只需要知道这些。谢谢。@user2934105
StackOverflow
account,我建议编辑您的问题,将其改进为实际询问我在此处的答案,然后将此答案标记为已接受的答案。