输入一个商品的单价和数量,计算总金额,要求对单价(可以是小数)和数量进行验证
/**
import java.util.Scanner;
public class TestInteger2 {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String price;
String regex="^[1-9]{1}[0-9]{3,6}[.]{1}[0-9]{1}$";
int amount;
//System.out.println("请输入商品的单价:");
//price=sc.next();
System.out.println("请输入商品的数量:");
amount=sc.nextInt();
while(true) {
System.out.println("请输入商品的单价:");
price=sc.next();
if(!price.matches(regex)) {
System.out.println("数据格式错误");
continue;
}
break;
}
Double intprice1= (double) Integer.parseInt(price);
Double sum=intprice1*amount;
System.out.println(sum);
}
}
输入单价price后可以正确输出总价sum
带小数点的数怎么能用Integer.parseInt()呢?改为Double.parseDouble()
package com.study.string;
import java.util.Scanner;
public class TestInteger2 {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String price;
String regex="^[1-9]{1}[0-9]{3,6}[.]{1}[0-9]{1}$";
int amount;
//System.out.println("请输入商品的单价:");
//price=sc.next();
System.out.println("请输入商品的数量:");
amount=sc.nextInt();
sc.nextLine();
while(true) {
System.out.println("请输入商品的单价:");
price = sc.nextLine();
if(!price.matches(regex)) {
System.out.println("数据格式错误");
continue;
}
break;
}
Double intprice1= Double.parseDouble(price);
Double sum=intprice1*amount;
System.out.println(sum);
}
}