我必須在Java中創建一個代碼,用於顯示薪水從1美分開始並且每天加倍10天的作業。我唯一的問題是,我很難將工資轉換爲十進制格式,而我的輸出是以美元而不是美分出來的。我對編碼非常陌生,可以使用我可以獲得的任何幫助。我的錯誤是「工資」已經定義在主體中,但是當我將十進制格式代碼移到主體上方時,問題仍然存在。我如何將小數點移動到兩個地方?我的輸出被張貼在代碼下,所以你們可以看到我的問題。謝謝!!將雙精度轉換爲十進制格式?
import java.util.Scanner;
import java.text.DecimalFormat;
public class hw2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//Find number of days worked
int days;
System.out.println("How many days did you work under the current
salary?");
days = in.nextInt();
int num = 1;
while (num <= days)
{
double salary = Math.pow(2, (num-1));
DecimalFormat salary = new DecimalFormat("##.00");
System.out.println("Your salary for day " + num + " is $" +
salary);
num++;
}
}
}
輸出:
多少天你目前的工資下工作嗎?
你的1天的薪水是$ 1.0
你的第2天的工資$ 2.0
您的3天薪水是$ 4.0
您的4天工資$ 8.0
第5天的薪水是$ 16.0
您的6天薪水是$ 32.0
你的7天的工資$ 64.0
您的8天工資$ 128.0
您的9天薪水爲$ 256.0
您的10天薪水是$ 512.0
名稱'DecimalFormat'變量別的東西。 ---乘以100將小數點移動2位。 – Andreas
[讀取/將InputStream轉換爲字符串]的可能副本(https://stackoverflow.com/questions/309424/read-convert-an-inputstream-to-a-string) – Melchia
您是否閱讀過您編寫的代碼?你顯然不能同時在同一個範圍內找到「雙倍工資」和「DecimalPoint工資」。這就像喬治福爾曼和5個兒子命名爲喬治 - 他們怎麼知道福爾曼太太在喊她叫什麼?喬治!讓你的屁股在這裏!*?除了這種情況,「雙薪」就會消失,並被「DeclmalPoint工資」取代。 –