2016-10-22 13 views
0

TL印刷されません:DRプログラムのコンパイルが、結果がHiプログラムのコンパイルが、結果

をプリントアウトしていないが、私は私の1年目のプログラミングクラスのために、この割り当てに取り組んでいます。

:この問題では、さまざまな金利とさまざまな期間の複合金利を計算する必要があります。 より正確には、これは、投資額と金利(プライム・インタレストを上回る特定の金額(この割り当てでは1.00パーセント)である レート)が与えられた場合、個人がn年後に支払う金額を計算することを意味します。 これを計算するための式は次式で与えられます。私たちは、クラスが、彼らは私たちが

import java.util.*; 

//DO NOT PUT OTHER METHODS IN THIS CLASS or make any changes to it 

public class UserInteraction 
{ 

    public String getStringValueFromUser(String message) 

    { 

     String value = ""; 

     Scanner input = new Scanner(System.in); 

     System.out.print(message + " : "); 

     value = input.nextLine(); 

     return value; 

    } 

    //DO NOT PUT OTHER METHODS IN THIS CLASS or make any changes to it 

    public double getDoubleValueFromUser(String message) 

    { 

     double value = 0; 

     Scanner input = new Scanner(System.in); 

     System.out.print(message + " : "); 

     value = input.nextDouble(); 

     return value; 

    } 

    //DO NOT PUT OTHER METHODS IN THIS CLASS or make any changes to it 

    public int getIntValueFromUser(String message) 

    { 

     int value = 0; 

     Scanner input = new Scanner(System.in); 

     System.out.print(message + " : "); 

     value = input.nextInt(); 

     return value; 

    } 


    //DO NOT PUT OTHER METHODS IN THIS CLASS or make any changes to it 

} 

だったし、私のコードはここに

ありましたので、構築済みからこの割り当てで別のクラスを呼び出す必要が

final amount = amount(1.0 + (prime+rate/100.0)^n) 

import java.util.*; 

public class InterestRate 

{ 

    UserInteraction input = new UserInteraction(); 

    public static void main (String[] args) 

    { 

     InterestRate program = new InterestRate(); 

     program.execute(); 

    } 
    void execute() 
    { 
     double initial_money = input.getDoubleValueFromUser("Your initial amount"); 
     double prime_rate = input.getDoubleValueFromUser("Enter the Prime Rate"); 
     double InterestRate = input.getDoubleValueFromUser("Enter the Interest Rate as a value above prime"); 
     double time = input.getDoubleValueFromUser("Enter the length of the investment in years to a decimal"); 
     double InterestRate2 = input.getDoubleValueFromUser("Enter the second Interest Rate as a value above prime"); 

     Calculations (initial_money, prime_rate, InterestRate, time); 
     Calculations2 (initial_money, prime_rate, InterestRate2, time); 


    } 

    void finaltotal(double totalrate4, double totalrate4a, double initial_money, double prime_rate, double InterestRate, double time, double InterestRate2) 

    { 
     double final_amount = (initial_money * totalrate4); 
     double final_amounta = (initial_money * totalrate4a); 

     printWinnings(final_amount, initial_money, InterestRate, prime_rate, final_amounta, time); 
    } 

    double Calculations(double initial_money, double prime_rate, double InterestRate, double time) 
    { 
     double totalrate = prime_rate + InterestRate; 
     double totalrate2 = totalrate/100.0; 
     double totalrate3 = totalrate2 + 1.0; 
     double totalrate4 = Math.pow(time, totalrate3); 


     return totalrate4; 


    } 
    double Calculations2(double initial_money, double prime_rate, double InterestRate2, double time) 
    { 
     double totalrate1a = prime_rate + InterestRate2; 
     double totalrate2a = totalrate1a/100.0; 
     double totalrate3a = totalrate2a + 1.0; 
     double totalrate4a = Math.pow(time, totalrate3a); 
     //double final_amounta = initial_money * totalrate4; 

     return totalrate4a; 

    } 

    void printWinnings(double final_amount, double initial_money, double prime_rate, double InterestRate, double time, double final_amounta) 

    { 
     System.out.println(" The amount of money you can expect to get over the " + time + " years you invest will be " + final_amount + " with your initial investment of " + initial_money + " at an rate of " + InterestRate); 

    } 
} 

私はそれをすべて入力してプログラムをコンパイルしましたが、実行すると何も表示されません。

答えて

1

技術的には、あなたは声明を出したことを質問しませんでした。私はあなたのプログラムがなぜ入力のための最初のプロンプトの後に結果の結果を生成しないのかを尋ねることを意図したと仮定します。

あなたのコードの実行に従っている場合、それはこのように書きます:

mainメソッドが最初に実行されます。

public static void main(String[] args) 
{ 
    InterestRate program = new InterestRate(); 
    program.execute(); 
} 

あなたが今、あなたのexecute方法がmainから呼び出され見ることができるように実行はここに行く:

void execute() { 
    double initial_money = input 
      .getDoubleValueFromUser("Your initial amount"); 
    double prime_rate = input 
      .getDoubleValueFromUser("Enter the Prime Rate"); 
    double InterestRate = input 
      .getDoubleValueFromUser("Enter the Interest Rate as a value above prime"); 
    double time = input 
      .getDoubleValueFromUser("Enter the length of the investment in years to a decimal"); 
    double InterestRate2 = input 
      .getDoubleValueFromUser("Enter the second Interest Rate as a value above prime"); 

    Calculations(initial_money, prime_rate, InterestRate, time); 
    Calculations2(initial_money, prime_rate, InterestRate2, time); 

} 

私が前に移動する前に、大文字で始まるeyは受け入れられたJava standard naming practiceに違反します。メソッドの名前は、常にラクダの小文字で始まり、小文字で始まります。同様に、この方法で変数を命名することは、Javaの命名規則にも違反します。たとえば、InterestRateinterestRateである必要があります。そうしないと、クラス名のように読み込まれるためです。一般的には定数の間には単語の間にアンダースコアしか使用されないため、のようなものはinitialMoneyと書かれていると命名規則に一貫します。

戻ってあなたのコードを取得する - 私たちはあなたのロジックがCalculationsCalculations2に流入中断したところから:

double Calculations(double initial_money, double prime_rate, 
     double InterestRate, double time) { 
    double totalrate = prime_rate + InterestRate; 
    double totalrate2 = totalrate/100.0; 
    double totalrate3 = totalrate2 + 1.0; 
    double totalrate4 = Math.pow(time, totalrate3); 

    return totalrate4; 

} 

double Calculations2(double initial_money, double prime_rate, 
     double InterestRate2, double time) { 
    double totalrate1a = prime_rate + InterestRate2; 
    double totalrate2a = totalrate1a/100.0; 
    double totalrate3a = totalrate2a + 1.0; 
    double totalrate4a = Math.pow(time, totalrate3a); 
    // double final_amounta = initial_money * totalrate4; 

    return totalrate4a; 

} 

今、あなたはこれらのメソッドのどれもがSystem.out.printSystem.out.printlnへの呼び出しを持っていないに気づくでしょう。このため、出力が表示されません。

+0

omg、うわー、それはとても信じられないほど役に立ちました。私は実際に私がこれと他のために騒がされることになっていたのではないかと恐れていたので、実際に投稿することに不安を感じていました。 – Lilrex

+0

それは助けになってうれしいです。また、このサイトにはユーザーが礼儀正しいものであることを要求する[行動規範](http://stackoverflow.com/help/behavior)があるため、「cussed out」の可能性はあまりありませんでした。 –

関連する問題