gpt4 book ai didi

java - 在每个循环中正确使用数组名称

转载 作者:行者123 更新时间:2023-12-01 17:00:34 26 4
gpt4 key购买 nike

鉴于以下示例代码,请帮我回答以下问题并给出提示

 public class Coin
{
private String myColor;
private int mySideOne;
private double mySideTwo;


public Coin(String Color, int SideOne, double SideTwo)
{
myColor= Color;
mySideOne = SideOne;
mySideTwo = SideTwo;
}
//accessors getColor(), getSideOne(), and getSideTwo()

}

public class Total
{
private int myNumCoins;
private Coin[] moneyList;

//constructor
public Total(int myCoins)

{

myNumCoins = numCoins;
moneyList = new Coins[numCoins]
String color;
int mySideOne;
double mySideTwo;
for (int i = 0; i<numCoins; i++)
{




}
}

**

Question:

**

//Returns total amount for Coins 
public double totalMoney()
{
double total = 0.0;
/* code to calculate
return total;
}
}

哪个代表正确的/代码来计算totalMoney方法中的金额*/?

 A. for (Coin t: moneyList)
total+= moneyList.getSideTwo();

B. for (Coin t: moneyList)
total+=t.getSideTwo();

我认为A是正确的,因为B.中的“t”在代码中不存在。我怎么错了?

最佳答案

让我们使用 A 来评估代码:

public double totalPaid()
{
double total = 0.0;
for (Ticket t:tickList)
total+= tickList.getPrice();
return total;
}

tickListTicket 的数组。数组是一个只有一个名为 lengthstatic final 字段的对象。因此,tickList 不能有 getPrice。这意味着选项 A 无法编译。

让我们使用 B 来评估代码:

public double totalPaid()
{
double total = 0.0;
for (Ticket t:tickList)
total+=t.getPrice();
return total;
}

在此声明:

I think A is right because the "t" in B. doesn't exist in the code. How am I wrong?

事实上,t是在增强的for循环语句中声明和使用的变量。 t 来自类型 Ticket,它将采用存储在 tickList 中的每个 Ticket 对象引用的值。增强的 for 循环可以转换为数组的这种形式:

for (int i = 0; i < tickList.length; i++) {
Ticket t = tickList[i];
//use t in this scope
//in this case, it's used to accumulate the value of total
total += t.getPrice();
}

这使得 B 成为该问题的解决方案。

关于java - 在每个循环中正确使用数组名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27932067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com