2015-11-28 3 views
-1

из-за сложной проблемы, которую я не хочу вводить здесь, я не могу подсчитать количество созданных объектов (скажем, яблок) в сложном классе Java, используя простой счетчик, как только будет создано яблоко. Поэтому я думал об альтернативе, но не знаю, как это реализовать; если это вообще не вариант:Можно подсчитать количество выходов из System.out.println, Java?

А для петли, подключенной к System.out.println («Яблоки:» + яблоки), дает мне столько выходов, сколько яблок. - Это нормально. Теперь мне нужно сохранить количество выходов в переменной - как бы вы это сделали - возможно ли вообще, поскольку вывод отображается в консоли?

Заранее благодарен!

+1

Это действительно не очень хорошая идея, я имею в виду это. Но это можно сделать глобально, создав собственный 'PrintStream', который будет считать вызов' println' и установить его с помощью 'System.setOut'. Я не буду давать никакого кода, потому что считаю, что это неправильно, и что проблема должна быть решена по-другому: это типичная проблема XY. – Tunaki

+0

Мне что-то не хватает. Почему вы не можете просто увеличивать счетчик каждый раз, когда вы вызываете println? –

ответ

0

вы можете обернуть System.out.println() со своим собственным методом Println, что в дополнение к печати будет рассчитывать и использовать что один вместо Println в цикле:

private static int counter = 0; 

public static void myPrintln(String str) { 
    counter++; 
    System.out.println(str); 
} 
+0

Большое спасибо! – CodeIsland

Смежные вопросы