Как правильно написать символ "\" - PullRequest
0 голосов
/ 04 июля 2019

Я ищу правильный способ ввода символа "\", чтобы не получалось сообщение об ошибке "Недопустимый символ побега"

Добрый день, недавно я начал изучать Java, проходил базовый онлайн-курс и в течение одногоиз моих практических кодов я понял, что то, что моя клавиатура печатает как «\», не является действительным корректным символом, и, таким образом, мой код запускает ошибку «недопустимый escape-символ в строковом литерале».Любой совет, как правильно его ввести или как заменить символ в системе на правильный?Этот код, как и в случае неправильного символа:

public class WellFormed {
public static void main(String[] arga) {
    System.out.println("A well-formed Java program has");
    System.out.println("a main method with \{ and \}");
    System.out.println("braces.");
    System.out.println();
    System.out.println("A System.out.println statement");
    System.out.println("has \( and \) and usually a");
    System.out.println("String that starts and ends");
    System.out.println("with a \" character");
    System.out.println("\(but we type \\" instead!");
    }
}

Ответы [ 3 ]

1 голос
/ 04 июля 2019

Это дает Нелегальный символ Scape, потому что '(' и '{' не нужно экранировать.

    System.out.println("A well-formed Java program has");
    System.out.println("a main method with { and }");
    System.out.println("braces.");
    System.out.println();
    System.out.println("A System.out.println statement");
    System.out.println("has ( and ) and usually a");
    System.out.println("String that starts and ends");
    System.out.println("with a \" character");
    System.out.println("(but we type \\\" instead!");

Код выше компилируется и работает как положено.

символы, которые можно использовать в качестве escape-последовательности:

\t  Insert a tab in the text at this point.
\b  Insert a backspace in the text at this point.
\n  Insert a newline in the text at this point.
\r  Insert a carriage return in the text at this point.
\f  Insert a formfeed in the text at this point.
\'  Insert a single quote character in the text at this point.
\"  Insert a double quote character in the text at this point.
\\  Insert a backslash character in the text at this point.

Документацию по Java 8 можно найти здесь: https://docs.oracle.com/javase/tutorial/java/data/characters.html

1 голос
/ 04 июля 2019

Напишите "\\" вместо "\". Поскольку \ является escape-символом, вам нужен второй, чтобы явно сказать, что вы хотите буквально символ \, а не просто escape.

0 голосов
/ 04 июля 2019
public class WellFormed {
public static void main(String[] arga) {
    System.out.println("A well-formed Java program has");
    System.out.println("a main method with \\{ and \\}");
    System.out.println("braces.");
    System.out.println();
    System.out.println("A System.out.println statement");
    System.out.println("has \\( and \\) and usually a");
    System.out.println("String that starts and ends");
    System.out.println("with a \" character");
    System.out.println("(but we type \\\" instead!");
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...