我需要帮助理解java代码

时间:2014-09-18 19:20:27

标签: java

我正在查看朋友的代码,我在java 2课程中。 system.out.format和system.out.println有什么区别?另外,我可以获得一个快速描述/网站,可以解释%-26,25s或%-10,10s等在这个项目中做了什么?最后,使用j.getxxx,j是什么。在这个项目中做什么?或者,是否有一个网站更好地解释它?谢谢你的帮助

for(int i=0; i<inventory.size(); i++){
                Product j = inventory.get(i);
                System.out.format("%-26.25s",j.getName());
                System.out.format("%-10.10s", j.getInventoryCode());
                System.out.format("%-6s", j.getType());
                int avgRating = j.getAvgUserRating();
                String stars = "";
                int k = 0;
                while (k<avgRating){
                    stars= stars +"*";
                    k++;
                }
                System.out.format("%-7s", stars);
                System.out.format("%6d", j.getUserRatingCount());
                System.out.format("%7d", j.getQuantity());
                System.out.format("%7.2f", j.getPrice());
                System.out.println();
            }

2 个答案:

答案 0 :(得分:1)

System.out.println只打印出没有格式化的字符串。 System.out.format允许在输出之前进行其他格式化,例如填充或小数精度 Documentation

%-6s是他用填充格式化输出。

j.表示后面的方法是对象j

的成员

答案 1 :(得分:1)

System.out.println写入stdout(控制台),System.out.format返回一个String对象。

使用哪个取决于唯一的目的。如果要在stdout(控制台)中显示字符串,请使用第一个字符串。如果要获取格式化字符串的句柄以在代码中进一步使用,请使用第二个。

Product j = inventory.get(i);

这里j是Product类的引用变量。在创建对象时,您将该对象的引用分配给引用变量,以便稍后可以在引用变量的帮助下调用该类方法。在代码中,您使用它来调用getName()方法,如

j.getName();