需求说明:
编写Java程序, 实现根据用户购买商品总金额, 计算实际支付的金额及所获得的购物券金额。
- 购买总金额达到或超过 1000元,按 8折优惠,送 200元的购物券;
- 购买总金额达到或超过 500 元,但未达到 1000 元,按 8.5折优惠,送100元的购物券;
- 购买总金额达到或超过 300 元,但未达到 500 元,按 9折优惠,送 70元的购物券;
- 购买总金额达到或超过 300 元,按 9.5折优惠;
代码如下:
import java.util.Scanner;
public class Demo
{
int price =0;
void add(double summoney)//非静态方法
{
if(summoney>=1000)
{
summoney*=0.8;
price=200;
}
else if(summoney>=500)
{
summoney*=0.85;
price=100;
}
else if(summoney>=300)
{
summoney*=0.9;
price=70;
}
else
{
summoney*=0.95;
}
System.out.printf("实际付款金额=%8.2f\n",summoney);
System.out.printf("获得购物券金额=%d",price);
}
void add(int summoney1)//非静态方法
{
if(summoney1>=1000)
{
summoney1*=0.8;
price=200;
}
else if(summoney1>=500)
{
summoney1*=0.85;
price=100;
}
else if(summoney1>=300)
{
summoney1*=0.9;
price=70;
}
else
{
summoney1*=0.95;
}
System.out.printf("实际付款金额=%d\n",summoney1);
System.out.printf("获得购物券金额=%d",price);
}
public static void main(String ages[])
{
System.out.print("请输入购买商品总金额:");
double summoney=0.0;
int summoney1=0;
Scanner in = new Scanner(System.in);//创建了一个Scanner对象in,获取控制台的输入!
if(!in.hasNextInt()//hasNextInt()当输入是有效的整数值时,它返回true,否则返回false
{
summoney = in.nextDouble();//读取一个double类型的变量赋值给summoney
Demo inn=new Demo();//静态方法通过对象调用此类中的非静态方法,Demo是类名
inn.add(summoney);
}
else
{
summoney1 = in.nextInt();//输入int变量赋值给summoney1
Demo inn=new Demo();
inn.add(summoney1);
}
}
}