-4

私は完全に混乱しています。プログラムに計算させようとしているパーセンテージを実際に計算させる方法がわかりません。プログラムに入力を求めるようにしましたが、計算を出力する必要があります。私が試したことはすべてうまくいきません。誰かが計算を正しく行う方法について少し教えてもらえますか? 私のプロジェクトは、営業担当者の年間報酬を計算するプログラムを作成することです。手数料率は年間売上高の 8% で、営業担当者の固定給は 30000 です。私のプログラムでは、ユーザーに年間売上高の入力を求めるものとします。それはそうします。ただし、入力された年間売上高から得られたコミッションを計算し、固定給 + コミッションである年間報酬を表示するとします。私はこれを一度に 1 ステップずつ作業し、各ステップを確認しながら作業を進めてきました。2 週間、私は計算を機能させる方法を理解しようと試みてきました。私ができることは、8%を表示することだけです。何かが欠けていることは知っていますが、何が欠けているのかわかりません。どんな助けでも事前に感謝します。ありがとうございました。これが私のコードです:

public class AnnualCompensation {

public static void main(String[] args){

double percentRate = .08;
int fixedSalary = 30000;
double annualSales = 0;
float Percentage;

Scanner user_input = new Scanner(System.in);


System.out.print("Please enter your annual sales ");

String annual_sales;
annual_sales = user_input.next();


Percentage = (float) ((annualSales*100)/8);

System.out.println("Percentage is: "+.08+"%");
4

1 に答える 1

1

annual_salesは、明らかにString値です...

String annual_sales = user_input.next();

で計算を実行できないため、これはあまり役に立ちませんString(それはあなたにとって何の役にも立たないでしょう...)

代わりに、値を取得する必要がありdoubleます。Stringこれで、 using を解析できますがDouble.parseDouble(String)、率直に言って、スキャナーから直接問い合わせるのと同じくらい簡単です...

annualSales = user_input.nextDouble();

ここで、計算がボックス化されていないことも確認する必要がありますint...

double Percentage = 0d;
Percentage = ((annualSales*100d)/8d);

nb-二重入力を扱っているように見えますが、 all in を保持することもでき、doubleどこでもキャストする必要が少なくなります...

最後に、印刷する必要があります...

System.out.println("Percentage is: "+ NumberFormat.getPercentInstance().format(Percentage) +"%");

を見てみましょう...

詳細については..

于 2013-07-14T04:39:26.170 に答える