读取输入到一行

时间:2015-09-20 21:13:58

标签: java

请允许我提供有关我遇到问题的更多信息。说我有一些代码

int a;
System.out.print(Enter a number ");
a = keyboard.nextInt

第一个陈述将是

Enter a number

然后用户输入一个数字,比如说12,最后的陈述是

Enter a number 12

注意这一切是怎么回事。我试图做同样的事情,但有一个浮点数,我希望它只显示小数点后的2位数。我试过了

float money;
System.out.printf("Enter your money " + "%.2f\n", money);
money = keyboard.nextFloat();

但我得到一个错误,说钱还没有初始化。但是,如果我写

float money = 0.0f;
System.out.printf("%.2f\n", money + "Enter your money ");
money = keyboard.nextFloat();

输出不是我想要的,它的

Enter your money 0.00

然后用户输入他们的钱,比如1234.567。最终输出是

Enter your money 0.00
1234.58

那么,如何显示1234.58以使最终输出为

Enter your money 1234.58

1 个答案:

答案 0 :(得分:0)

System.out.print("Enter your money ");
float money = keyboard.nextFloat();
System.out.printf("%.2f", money);

修改

你想要一个解释,所以我会把它给你:D作为java API状态System.out.print方法将字符串打印到控制台而不输入新行。因此,您将在屏幕上显示“输入您的钱”字符串不带换行符。用户输入keyboard.nextFloat()后,其余字符串将放在System.out.printf("%.2f", money)的字符串上。