Как отключить симпатичную печать (пробел / новая строка) в XStream?

После того, как вы определили, что число составное (а не простое), ваша работа завершена. Вы можете выйти из цикла с помощью break.

while num > a :
  if num%a==0 & a!=num:
    print('not prime')
    break          # not going to update a, going to quit instead
  else:
    print('prime')
    a=(num)+1

Кроме того, вы можете попытаться поближе познакомиться с некоторыми конструкциями в Python. Ваш цикл может быть сокращен до однострочного, который, на мой взгляд, хорошо читается.

any(num % a == 0 for a in range(2, num))
21
задан 5 revs, 3 users 78% 23 January 2013 в 23:59
поделиться

3 ответа

С некоторой помощью сообщества я нашел ответ.

Для XML вам нужно изменить способ сериализации:

Строка:

xStream.toXML(o, new OutputStreamWriter(stream, encoding));

изменен на строку

xStream.marshal(o, new CompactWriter(new OutputStreamWriter(stream, encoding)));

. Для JSON вы изменяете только способ создания XStream. Таким образом, инициализация XStream изменена на:

private final XStream xstreamOut = new XStream(new JsonHierarchicalStreamDriver() {
    public HierarchicalStreamWriter createWriter(Writer writer) {
        return new JsonWriter(writer, new char[0], "", JsonWriter.DROP_ROOT_MODE);
    }
});

Обратите внимание, что используется 4-параметрический конструктор JsonWriter.

12
ответ дан 29 November 2019 в 20:51
поделиться

Используйте метод marschal в xstream с компактным устройством записи

xstream.marshal(someObject, new CompactWriter(out)); 
4
ответ дан 29 November 2019 в 20:51
поделиться

Спасибо, ваши посты помогли !!! Вот то, что я использую для преобразования в String.

String strXML = "";
XStream xs = new XStream();
StringWriter sw = new StringWriter();
xs.marshal(this,  new CompactWriter(sw));
strXML = sw.toString();
19
ответ дан 29 November 2019 в 20:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: