Java кодындағы осы нақты жолды түсіндіріп беріңізші?

Мен Java-ді үйрендім және массивтерге дейін жеттім, осы бағдарламаны (кітаптан) «мен» деген орынға ауыстыру үшін дайындадым. (нүктелер) және мен осы нақты сызықты түсінбеймін (оның тіпті оқыған кітапта да айтылмаған).

Маған көмектесе беріңіз.

class SpaceRemover{
    public static void main(String[] args){
        String mostFamous = "Hey there stackoverFLow     ";
        char [] mf1 = mostFamous.toCharArray();
        for(int dex = 0; dex

Біреу түсіндіріңіз: «char current = mf1 [dex];»

Уақыт өте көп рахмет.

1
қосылды автор user1181445, көзі

10 жауаптар

mf1 (демек, mf1 [dex] ) таңбалар жиыны ішінде dex таңба/элементін аласыз және оны жергілікті айнымалыға сақтайсыз < код> ағымдағы .

2
қосылды
барлық жауаптарыңызға рахмет :)
қосылды автор AbhiSheikhBin, көзі

Негізінде Java-дегі жол - таңбалардың жиыны. Сонымен, жоғарыда көрсетілген код жолдың массивінің массивіне түрлендіреді, сонда ол кейінірек алаптың әр индексіне қол жеткізе алады. Содан кейін коды аралық жиымның барлық индекстерін қайталау үшін циклге кіреді.

Сізге қазірдің өзінде түсінікті екенін болжап отырсаңыз, кодекс енді массивтің ағымдағы индексін ұстайтын char айнымалысы жасайды.

char current = mf1[dex];

mf1 - жолды білдіретін сіздің аралық жиым. dex - цикл үшін анықталған char-дің ағымдағы индексі. Осылайша, біз аргументтердің әр таңбасын (әріпті) тексере аламыз. Енді егер «char» «бос» бос орын болса, біз оны нүктеге ауыстыра аламыз.

1
қосылды
Шынында жақсы түсініктеме алу үшін көп рахмет. Мен сіздердің жауабыңызды жазып алдым ... Бұл түсінік шынымен жақсы екенін түсіндім. Спасибо :)
қосылды автор AbhiSheikhBin, көзі

<�Код> char индексінде char жиынын mf1 элементін char айнымалы ағымдағы элементіне тағайындайды .

Назар аударыңыз, бұл цикл және бұл жолды жеңілдетуге болады көмегімен foreach синтаксисі; бұл екі код блоктары тең:

// Your code
for(int dex = 0; dex

Сонымен қатар, барлық әдіс бір жолмен ауыстырылуы мүмкін:

public static void main(String[] args){
    System.out.println("Hey there stackoverFLow     ".replace(" ", "."));
}
0
қосылды

For-loop таңба бойынша mostFamous таңбасының жолын итерациялайды.

the line you are asking is to get the character at specific position. Function is similar to JavaScript's charAt(i)

0
қосылды

mf1 массивіндегі idx индексіндегі таңбаны алады және оның мәнін current айнымалысында сақтайды.

0
қосылды
char current = mf1[dex]; 

Бұл жол mf1 char арабындағы мәндерді алады және dex сәйкес current айнымалысына тағайындалады, dex жұмыс істейді массив элементіне индекс ретінде және ол іске қосылатын циклмен көбейтіледі.

0
қосылды
Иә. рахмет bhai :) Мен енді түсіндім
қосылды автор AbhiSheikhBin, көзі

Мұнда шешім

class SpaceRemover{

    public static void main(String[] args){

        String mostFamous = "Hey there stackoverFLow     ";

            char [] mf1 = mostFamous.toCharArray();

           //mf1 contains={'H', 'e','y',' ','t','h',.........}

            for(char current: mf1)

            {

         //the for-each loop assigns the value of mf1 variable to the current variable

                //At first time the 'H' is assigned to the current and so-on

                System.out.print(current==' '?'.':current );

            }

            System.out.println();



            }

        }
    }
0
қосылды

After this statement, char [] mf1 = mostFamous.toCharArray();

mf1[0]=H, mf1[1]=e, mf1[1]=y...

сондықтан осы жолда char current = mf1 [dex]; сондықтан, бірінші иерацияда, current = H , екінші қайталау current = e ...

0
қосылды
Таза түсініктемеге рахмет :)
қосылды автор AbhiSheikhBin, көзі
char current = mf1[dex]; 

бұл char элементін дес деп аталатын аралық жиында қайтарады

Бұл массивтің негізгі пайдалануы.

Сіздің зерттеуіңізбен сәттілік тілейміз.

0
қосылды
Рахмет, сэр. Иә, барлығын жасаймын. :)
қосылды автор AbhiSheikhBin, көзі

Жол

char current = mf1[dex];

цикл итерацияланған сайын айнымалы dex артуы үшін цикл ішінде орналастырылады. Айнымалы dex массивтің нөлдік негізделген индексі болып табылады. Тапсырма операторының сол жағында (=), char түріндегі current деп аталатын айнымалыны жариялап жатырсыз. Тапсырма операторының оң жағында сіз CharArray-дің деx-таңбасына қол жеткізесіз, егер сіз нөлден санай бастасаңыз. Тапсырма операторы сіз жариялаған айнымалы мәнді оң жағында көрсетілген таңба мәнімен байланыстырады.

Мысалы, цикл алғаш рет іске қосылса, dex 0 басталады, демек mf1 [dex] (немесе mf1 [0] ) жай ғана «H».

0
қосылды
Сіздің жауапыңыз үшін көп рахмет. Мен түсіндім. :)
қосылды автор AbhiSheikhBin, көзі