我必须在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工资”取代。 –