Java: буквальный процент входа в оператор printf
Я пытаюсь добавить фактический знак процента в оператор printf на Java, и я получаю ошибку:
lab1.java:166: illegal escape character
System.out.printf("%st%st%1.2f%t%1.2f%n",ID,pattern,support,confidence);
^
lab1.java:166: illegal escape character
System.out.printf("%st%st%1.2f%t%1.2f%n",ID,pattern,support,confidence);
^
2 errors
Я не могу понять, как поместить фактический знак процента в мой printf? Я думал, что использование % для побега будет работать, но это не так.
какие идеи?
3 ответов
знак процента экранируется с помощью знака процента:
System.out.printf("%s\t%s\t%1.2f%%\t%1.2f%%\n",ID,pattern,support,confidence);
на синтаксис можно в java-документы sun. Эта конкретная информация находится в разделе Conversions
первой ссылке.
причина, по которой компилятор генерирует ошибку, заключается в том, что только ограниченное количество символы может следить за обратной косой чертой. %
не является допустимым символом.
вы можете использовать StringEscapeUtils из Apache Commons Logging utility или бежать вручную, используя код для каждого символа.