2014-09-18 2 views
-4

Я просматриваю код друга, и я в классе java 2. В чем разница между system.out.format и system.out.println? Кроме того, могу ли я получить краткое описание/веб-сайт, который может объяснить, что% -26,25s или% -10,10s и т. Д. В этом проекте? Наконец, с j.getxxx, что делает j. делать в этом проекте? Или есть сайт, объясняющий это лучше? Спасибо за любую помощьМне нужна помощь, чтобы понять код Java

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(); 
      } 
+0

Существует хорошее объяснение здесь: http://docs.oracle.com/javase/tutorial/essential/io/formatting.html – Keppil

+0

Проверьте [здесь] (http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html#println (java.lang.Object)) и [здесь] (http: // docs .oracle.com/javase/7/docs/api/java/io/PrintStream.html # format (java.lang.String,% 20java.lang.Object ...)) – TNT

+0

Вы прочитали документацию? – tnw

ответ

1

System.out.println просто распечатывает строку без форматирования. System.out.format допускает дополнительное форматирование перед выходом, такое дополнение или десятичная точность.
Documentation

%-6s является его форматирование вывода с набивкой.

j. указывает на то, что метод, который следует является членом объекта j

1

System.out.println записывает в стандартный вывод (консоли) и System.out.format возвращает объект String.

Это зависит от цели. Если вы хотите отобразить строку в stdout (консоли), используйте первый. Если вы хотите получить дескриптор форматированной строки для дальнейшего использования кода, используйте вторую.

Product j = inventory.get(i); 

здесь j является ссылочной переменной класса продукта. Во время создания объекта вы назначаете ссылку этого объекта на ссылочную переменную, чтобы позже вы могли вызвать метод класса с помощью ссылочной переменной. Как и в своем коде вы используете это для вызова GetName() метод как

j.getName(); 
Смежные вопросы