懒惰的土豆泥 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条)

报告相同问题?

悬赏问题

  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题