java做一个计算长方形面积的小程序,怎么限定小数点只能输入一个?怎么限定只能输入数字?运算得出的 100
java做一个计算长方形面积的小程序,怎么限定小数点只能输入一个?怎么限定只能输入数字?运算得出的结果要保留三位小数?求大神指点...
java做一个计算长方形面积的小程序,怎么限定小数点只能输入一个?怎么限定只能输入数字?运算得出的结果要保留三位小数?求大神指点
展开
5个回答
展开全部
import java.util.Scanner;
import java.text.DecimalFormat;
public class Rectangle {
public static void main(String[] args) {
String str;
Double width, length, area;
// 判断小数条件的正则表达式
String regEx = "^([1-9][0-9]*)+(.[0-9]{1,1})?$";
Scanner s = new Scanner(System.in);
System.out.println("请输入长:");
str = s.nextLine();
while(true) {
// 若输入的长度不符合要求,重新输入。
if (!str.matches(regEx)) {
System.out.println("输入格式错误,请重新输入。");
str = s.nextLine();
} else {
length = Double.parseDouble(str);
break;
}
}
System.out.println("请输入宽:");
str = s.nextLine();
while(true) {
if (!str.matches(regEx)) {
System.out.println("输入格式错误,请重新输入。");
str = s.nextLine();
} else {
width = Double.parseDouble(str);
break;
}
}
area = width * length;
// 定义输出小数的格式为保留小数点后三位
DecimalFormat df = new DecimalFormat("###.000");
System.out.println("面积为:" + df.format(area));
}
}
运行结果如下
展开全部
1、限定小数点和只能输入数字,在控件的onkeydown事件里面去判断,可以自己写逻辑判断,也可以用正则表达式。可以参考:http://blog.csdn.net/kilper/article/details/5835432
2、运算出来的结果保留3位小数,可以用numberformat类来处理,可以参考:http://blog.csdn.net/tanyit/article/details/7466108
2、运算出来的结果保留3位小数,可以用numberformat类来处理,可以参考:http://blog.csdn.net/tanyit/article/details/7466108
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
限定小数点只能输入一个及限定只能输入数字,可以通过正则匹配解决。
保留三位小数,通过BigDecimal解决。
实例:
限定数字及只能有一位小数:
int n = 1.9; (n+"").matches("^\\d+|\\d+(\\.\\d{1})$");
保留三位小数:
double a = 1.00001;
new BigDecimal(a).setScale(3, BigDecimal.ROUND_HALF_UP);
有问题欢迎提问,满意请采纳,谢谢!
保留三位小数,通过BigDecimal解决。
实例:
限定数字及只能有一位小数:
int n = 1.9; (n+"").matches("^\\d+|\\d+(\\.\\d{1})$");
保留三位小数:
double a = 1.00001;
new BigDecimal(a).setScale(3, BigDecimal.ROUND_HALF_UP);
有问题欢迎提问,满意请采纳,谢谢!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用正则表达式判断输入的内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-07-01
展开全部
楼主,,,,,,你接收时判断、作回应
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询