我是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()返回TTcent的值必须为20。

....:....1....:....2...
Good Restaurant Seattle
                   ^^


为了使cent为20,price的值必须为19.5 <= price <= 20.5

这意味着stock.getPrice()返回的值介于19.5和20.5(含)之间。

不知道Stock是什么类,我们不能说它如何确定输入"HR.S"应该有这样的价格。

09-30 12:37