懒惰的土豆泥 2021-04-09 08:54 采纳率: 100%
浏览 61
已采纳

这一段Java代码是如何执行的?为什么会先调用Bi方法里的输出语句?

import java.util.Scanner;

public class xiaoming {
	public static void main(String[] args) {
		xiaoming bi = new xiaoming();
		System.out.println("小明可购买的笔数是:" + bi.Bi());
		
	}
	
	public int Bi() {
		int shuibi = 0;									//定义并初始化可购买水笔变量
		int money = 0;     								//定义并初始化购买水笔所携带的钱
		Scanner sc = new Scanner(System.in); 			
		System.out.println("请输入小明携带钱数:");
		money = sc.nextInt(); 							//控制台输入携带钱数
		int temp = 0;									//设立一个临时变量存储携带钱数除以单价的值
		temp = money/5;
		
		if(temp>=5 & temp<20) {
			int i =0;
			i = temp/5;
			shuibi = i+temp;
			
		}else if(temp < 5 & temp>=0) {
			shuibi = temp;
			
		}else if(temp >= 20 ){
			int i = 0;
			int j = 0;
			i = temp/20;
			j = (temp-i*20)/5;
			shuibi = temp + 5*i+j;
			
		}else{
			System.out.print("请输入正确的携带钱数!!!");
			
		}
		
		return shuibi;
	}

}

 

  • 写回答

4条回答 默认 最新

  • 关注

    因为你main方法的打印语句是调用Bi函数(方法)获取返回值,肯定是Bi方法执行结束后才会返回结果,所以会先执行Bi里面的打印语句,再执行main方法的打印语句。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?