问题遇到的现象和发生背景
java中有关方法中定义变量的问题
问题相关代码,请勿粘贴截图
public class buy_ticket {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in) ;
System.out.println("请输入您购买机票的月份 : ");
int month = sc.nextInt();
System.out.println("请输入您购买机票的价格 : ");
double money = sc.nextDouble();
System.out.println("请输入您购买机票的类型(头等舱或经济舱) : ");
String type = sc.next();
double finish_ticket = buy_ticket1(month, type, money);
System.out.println("您购买的机票经优惠为" + finish_ticket + "元");
}
public static double buy_ticket1 (int month , String type , double money){
double finish_ticket = 0.0 ;
if(month >= 5 && month <= 10){ //旺季
if(type == "头等舱") finish_ticket = money * 0.9 ; //头等舱9折
else if (type == "经济舱") finish_ticket = money * 0.85 ; //经济舱85折
}else if((month >= 1 && month <=4) || month == 11 || month == 12 ){ //淡季
if(type == "头等舱") finish_ticket = money * 0.7 ; //头等舱7折
else if (type == "经济舱") finish_ticket = money * 0.65 ; //经济舱65折
}
return finish_ticket ;
}
}
运行结果及报错内容
最后结果为0.0
我的解答思路和尝试过的方法
直接对money进行操作再返回money就可行
我想要达到的结果
我想知道为什么finish_ticket一直是0.0 , 感谢各位解惑