编写java程序。要求用户输入一个小数,小数位数大于等于2位。输入完成后,输出该数字,并保留两位小数。
时间: 2024-09-11 14:17:42 浏览: 46
java精度计算代码 java指定精确小数位
编写Java程序来满足这个需求,你可以使用Scanner类获取用户的输入,并利用DecimalFormat类来格式化输出。以下是简单的步骤:
1. 导入必要的包:
```java
import java.util.Scanner;
import java.text.DecimalFormat;
```
2. 创建一个主函数(main method):
```java
public class Main {
public static void main(String[] args) {
//...
}
}
```
3. 使用Scanner获取用户输入的小数并检查位数:
```java
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个小数,小数点后至少两位:");
double inputNumber = scanner.nextDouble();
if (inputNumber >= 0 && Math.floor(inputNumber * 100) % 100 == inputNumber) { // 检查小数位数
//...
} else {
System.out.println("输入错误,请输入一个小数,小数点后至少两位!");
return; // 结束程序
}
```
4. 格式化输出保留两位小数:
```java
DecimalFormat df = new DecimalFormat("#.##"); // 设置格式
String formattedNumber = df.format(inputNumber); // 保留两位小数
System.out.println("输入的数字格式化后为:" + formattedNumber);
```
5. 关闭Scanner:
```java
scanner.close();
```
完整的程序示例:
```java
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个小数,小数点后至少两位:");
double inputNumber = scanner.nextDouble();
if (inputNumber >= 0 && Math.floor(inputNumber * 100) % 100 == inputNumber) {
DecimalFormat df = new DecimalFormat("#.##");
String formattedNumber = df.format(inputNumber);
System.out.println("输入的数字格式化后为:" + formattedNumber);
} else {
System.out.println("输入错误,请输入一个小数,小数点后至少两位!");
}
scanner.close();
}
}
```
阅读全文