商品折扣并未按照if条件语句的不同条件去执行
来源:2-4 编程练习
David_Cici
2021-01-11 20:43:05
问题描述:商品折扣并未按照if条件语句的不同条件去执行
相关截图:
相关代码:
package com.imooc.method; import java.util.Scanner; public class DisCountDemo { //根据商品总价输出折后总价 //没看出为何没有按照条件执行... 哈哈,麻烦点拨一下~ public void discount(double total) { if(total<100) { total=total*1; }else if(total>=100 && total<200){ total=total*0.95; }else{ total=total*0.85; } } public static void main(String[] args) { //定义商品总价存放到变量中 double total; System.out.println("您买的商品总价为: " ); Scanner sc = new Scanner(System.in); total = sc.nextDouble(); //定义对象 DisCountDemo DisCountDemo = new DisCountDemo(); //调用方法,输出折后商品总价 DisCountDemo.discount(total); System.out.println("折后商品总价为: " +total); } }
尝试过的解决方式:N/A
谢谢啦
2回答
好帮手慕小脸
2021-01-12
同学你好,上述代码其实是按照"if条件语句的不同条件去执行"的,这里之所以输入总价为多少,折后价就是多少的原因是因为同学在main方法中直接输出是键盘录入的值。
1)如果在源代码基础上修改,同学可以在if..else if ..else中添加打印语句:
2)也可以参考楼上同学给出的建议去修改。
祝学习愉快~
慕用8117612
2021-01-11
public double discount(double total) {
if(total<100) {
return total*1;
}else if(total>=100 && total<200){
return total*0.95;
}else{
return total*0.85;
}
System.out.println("折后商品总价为: " +DisCountDemo.discount(total));
因为你的数据是传到discount方法里面的,方法里面操作的是方法体定义的total变量,如果按照你写的话输出的是main方法里面的total变量,没有任何变化。
建议将方法改为返回double类型,输出语句里面直接调用该函数
代码在上面帮你改好了,但是我没编译,你试一下应该行
相似问题