我是Java的新手,我试图了解为什么此代码Magic类的main方法的输出是“ TT”。我们的教授说,我们不必了解这种方法的含义,而只需回答输出即可。
代码是这样的。
public class Magic
{
public static void main(String[] args)
{
final String MSG = "Good Restaurant Seattle";
Stock stock = new Stock("HR.S");
double price = stock.getPrice();
int cent = (int) Math.rint(price);
System.out.println(MSG.substring(cent, cent+2).toUpperCase());
}
}
我了解字母的来源以及所有变量(例如美分和价格)是如何连接的,但是我不知道“ HR.S”是什么以及如何与输出连接。
最佳答案
为了使MSG.substring(cent, cent+2).toUpperCase()
返回TT
,cent
的值必须为20。
....:....1....:....2...
Good Restaurant Seattle
^^
为了使
cent
为20,price
的值必须为19.5 <= price <= 20.5
。这意味着
stock.getPrice()
返回的值介于19.5和20.5(含)之间。不知道
Stock
是什么类,我们不能说它如何确定输入"HR.S"
应该有这样的价格。