2017-10-02 3 views
-2
import java.io.*; 
import javax.swing.JOptionPane; 
import java.text.DecimalFormat; 

public class Tuition 
{ 
    public static void main(String[] args) 
    { 
     //Declareing the variables 
     int credits; 
     double costPerCredit; 
     double tuition; 

     //calling methods 
     credits = getCredits(); 
     costPerCredit = getCostPerCredit(credits); 
     tuition = calcTuition(credits, costPerCredit); 
     displayCredits(costPerCredit); 
     displayTotal(tuition); 


     //Dialog box that is popping out to ask the questions and get imput based on questions 
     JOptionPane.showMessageDialog(null, "Java Tuition Calculator Program"); 
    } 

    public static int getCredits() 
    { 
     //declare hours variable 
     String input; 
     int credits = 0; 
     input = JOptionPane.showInputDialog(null,"Number of Credits?"); 

     return credits; 
    } 

    public static double getCostPerCredit(int credits) 
    { 
     String input1; 
     double costPerCredit; 
     costPerCredit = credits * 107.78; 
     input1 = JOptionPane.showInputDialog(null,"Cost Per Credit?"); 

     return costPerCredit; 
    } 

    public static double calcTuition(int credits, double costPerCredit) 
    { 
     double tuition; 

     tuition = credits * costPerCredit; 
     return tuition; 
    } 


    public static void displayCredits(double costPerCredit) 
    { 
     double credits; 
     credits = costPerCredit; 

     DecimalFormat twoDigits = new DecimalFormat("$#000.00"); 
     System.out.println("Cost for Credits are " + credits); 
    } 

    public static void displayTotal(double tuition) 
    { 
     double total; 
     total = tuition; 

     DecimalFormat twoDigits = new DecimalFormat("$#000.00"); 
     System.out.println("Your Tuition is " + total); 
    } 
} 

で動作させることはできません。私はそれらを入力した後、合計結果は、 "クレジットのコストは*です(答えは式"授業料=クレジット* costPerCredit; "*から出てくるはずです)というフレーズを持つ新しいウィンドウに表示されるはずです。私は事前に設定$ 107.78であった場合にmultiping最初のダイアログボックスに入れて、私はそれらの答えは最後に飛び出し新しいウィンドウになりたい。しかし、私が得るすべてはは、私がコードを実行するときのJOptionPaneとするSystem.out.printlnは、授業料の計算

Cost for Credits are 0.0 
Your Tuition is 0.0 

なぜできないです答えをpublic static double getCostPerCredit(int credits)public static int getCredits()から出力するにはSystem.out.printlnを入力します。ダイアログボックスが表示され、フィールドの質問が表示されますが、これらの回答を印刷して、 0.0 "となる。

注:String input1;input1 = JOptionPane.showInputDialog(null,"Cost Per Credit?");を取り出しました。コードはそれと同じように動作するようだが、ダイアログボックスは削除されている。

+0

を動作させることはできません。 [補完的なデバッグ手法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)にご協力ください。その後も問題が残っている場合は、より具体的な質問に戻ってください。 –

+0

ようこそスタックオーバーフロー! [良い質問をする方法](https://stackoverflow.com/help/how-to-ask)をお読みください。あなたの質問は具体的なものでなければならず、関連するコードは[最小限で完全で検証可能](https://stackoverflow.com/help/mcve)でなければなりません。 –

答えて

0

は、デバッガを使用することを学ぶ必要があるように見えますのJOptionPaneとするSystem.out.printlnは授業料に 電卓

First: Cost for Credits are 0.0 because of int credits = 0; and you return credits 0 as type int 

Second: Any thing multiply by 0.0 is 0.0 as type double, So Your Tuition is 0.0 
public static int getCredits() 
    { 
     //declare hours variable 
     String input; 
     int credits = 0; 
     input = JOptionPane.showInputDialog(null,"Number of Credits?"); 

     return Integer.parseInt(input); 
    } 
+0

John KugelmanとSoumya Dasさん、ありがとうございました。非常に感謝しています。もう一度ありがとう:D – Mike

0
String input; 
int credits = 0; 
input = JOptionPane.showInputDialog(null,"Number of Credits?"); 

return credits; 

creditsは変更されません。このコードは常に0を返します。

関連する問題