Как решить проблему, я хочу, чтобы она была выстроена, а не в шахматном порядке или повторялась - PullRequest
0 голосов
/ 12 июня 2019

пытается поместить значение Юникода рядом с соответствующим символом. Я уже превратил строку в символ и в кодировке Юникод я просто хочу иметь возможность печатать массив символов и код Юникод рядом друг с другом

public class StringToChar {

    public static void main(String[] args) {


        String str= "javadla";



        char[] charArray=str.toCharArray();

        for(int i = 0; i < str.length(); i++ ) {
            int retval = str.codePointAt(i);
        for (char c : charArray) {
            System.out.println(c+ ":"+ (retval));

должно быть что-то вроде

J: 106 а: 97 v: 118 а: 97 д: 100 л: 108 а: 97

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

println() метод добавляет new-line после каждого оператора, поэтому, если вы хотите, чтобы все они были в одной строке, используйте метод print().

System.out.print(c+ ":"+ (retval));
0 голосов
/ 12 июня 2019

В вашем коде вы перебираете символы строки, а затем во внутреннем цикле вы снова перебираете массив char, который снова является символами той же строки.Из-за этого ваш ожидаемый результат печатается повторно.

Поэтому вы можете использовать один цикл for, как показано ниже, чтобы пройти строку и получить одновременно символ и код символа из текущего индекса.

public static void main(String[] args) {
    String str = "javadla";
    for (int i = 0; i < str.length(); i++) {
        char c = str.charAt(i);
        int retVal = str.codePointAt(i);
        System.out.print(c + ":" + (retVal) + " ");
    }
    System.out.println();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...