有几次,我已经遇到过学生不理解方法之间交互逻辑的情况。在任务问题之一中,给出了以下代码:
public class Solution {
public static void main(String[] args) {
System.out.println(convertCelsiusToFahrenheit(41));
}
public static double convertCelsiusToFahrenheit(int celsius) {
double TC = 41;
double TF = 9 / 5.0 * TC + 32;
return TF;
}
}
事实上,按照这段代码,无论我们传递给该方法什么值convertCelsiusToFahrenheit
,我们总是会得到相同的输出。交互应该如何进行?让我们想象一下,有你。您有一些钱,想要购买一台游戏机,并且知道价格。但您对学习 Java 如此热衷,以至于没有时间购买控制台。
public static void main(String[] args) {
但你有一个朋友,他有时间,喜欢逛商店。
public static String friendVasya(int money) {
int price = 300;
friendVasya
在本例中,我创建了一个具有返回类型的 方法String
,您可以设置任何其他数据类型,这完全取决于您最终想要获得的内容。当该方法运行时,friendVasya
它将收到您在参数 ( ) 中指定的金额int money
。Vasya 的朋友可能有很多自己的事务或需求,我们会在方法中描述这一切friendVasya
,但我们只关心他是否会给我们买一台游戏机。那么我们就给他添加这个功能吧。
public static String friendVasya(int money){
int cash = money - price;
String purchase;
因此,钱可能足够,也可能不够。让我们针对这些情况实施不同的应对措施。
public static String friendVasya(int money){
int price = 300;
int cash = money - price;
String purchase;
if (cash>=0){
purchase = "Купил";}
else{
purchase = "Этого мало. Где деньги, Лебовски?";}
return String.format(purchase);}
调用该方法并以 Money 参数的形式将钱传递给该方法的结果是friendVasya
,我们将能够购买控制台或发现没有足够的钱来购买。剩下的就是在程序代码中添加对此方法的调用,表明您愿意为控制台付出多少钱 /*在本例中将为 500 */:
public static void main(String[] args) {
System.out.println(friendVasya(500));
完整代码:
public class Game {
public static void main(String[] args) {
System.out.println(friendVasya(500));
}
public static String friendVasya(int money){
int price = 300;
int cash = money - price;
String purchase;
if (cash>=0){
purchase = "Купил";}
else{
purchase = "Этого мало. Где деньги, Лебовски?";}
return String.format(purchase);
}
}
事实上,所有这些代码的本质是:
- 启动
main
并激活方法System.out.println
// 想要一个控制台,遇到一个朋友; - 传递一个参数
int money = 500
// 向朋友转账; - 启动该方法并处理从该方法收到的
friendVasya
参数// Vasya 去商店并尝试用给定的钱购买一个机顶盒;int money
main
String purchase
作为传递给该方法的main
参数返回该return
方法println
// Vasya 报告他是否成功执行此操作。
GO TO FULL VERSION