CodeGym /Blog Jawa /Acak /Substring ing basa Jawa
John Squirrels
tingkat
San Francisco

Substring ing basa Jawa

Diterbitake ing grup
Tindakan sing paling populer ing String ing Jawa yaiku concatenation, njupuk karakter kanthi indeks lan entuk substring. Ing artikel iki kita bakal nyritakake babagan metode substring Jawa.

Apa iku Java Substring?

Substring Jawa umume minangka urutan karakter sing ana ing njero String. Bisa uga dadi bagean saka String utawa kabeh String uga. Substring ing Jawa - 2Apa substring ing Jawa? Basa iki nduweni metode substring () , utawa rong cara, amarga overloading metode Java. Sampeyan bisa nggunakake kanggo njaluk substring ing program Jawa. Metode substring Jawa pisanan yaiku String substring(firstIndex) lan sing kapindho yaiku String substring (firstIndex, lastIndex) .

Carane nggunakake substring ing Jawa

Jawaban iki prasaja: mung nggunakake substring. Java substring() method ngasilake bagean saka string. Ana rong cara sing bisa digunakake kanggo iki:
Sintaks metode substring String substring(firstIndex) String substring (firstIndex, lastIndex)
Argumentasi firstIndex minangka nomer ing String sing minangka indeks pisanan saka substring sampeyan. Inklusif. Nomer pungkasan saka Substring sampeyan yaiku nomer pungkasan kabeh string firstIndex minangka nomer ing String sing minangka indeks pisanan saka substring sampeyan. Inklusif.
lastIndex minangka nomer String sampeyan, pisanan lan kabeh sawise ora kalebu saka substring sampeyan
Conto carane nggunakake substring ing Jawa

String s = "CodeGym";
System.out.println(s.substring(4));
//returns Gym

String s = "CodeGym"; 
System.out.println(s.substring(2,5));
//returns deG
Tugas sing populer banget sing mbantu sampeyan ngerti
  • Carane njaluk substring ing Jawa
  • Carane nemokake kabeh substrings saka senar diwenehi
  • Cara nemokake substring umum sing paling dawa

Carane njaluk substring ing Jawa (khusus)

Conto substring Jawa pisanan iki cukup gampang. Sampeyan wis entuk String lan sampeyan kudu nemokake substring "CodeGym" ing. Sampeyan wis ngerti carane njaluk substring ing Jawa. Dadi iki solusi kanggo masalah tartamtu iki:

import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {

       String s1 = "the best Java Core course is CourseCodeGym.  End of story";
       String myTarget = "CodeGym";
       int index1 = s1.indexOf(myTarget);
      
       int index2 = index1 + myTarget.length();
       System.out.println(s1.substring(index1, index2));

   }
}
Output punika: Proses CodeGym rampung karo kode metu 0 Carane nemokake kabeh substrings saka string diwenehi Kene kita duwe cara paling gampang kanggo nemokake kabeh substrings saka String diwenehi.

import java.io.IOException;
public class Main {
   public static void main(String[] args) throws IOException {
       String myTarget = "CodeGym";
       for (int i = 0; i < myTarget.length(); i++) {
           for (int j = i + 1; j <= myTarget.length(); j++) {
               System.out.println(myTarget.substring(i, j));
           }
       }    
   }
}
Outpute yaiku: C Co Cod Code CodeG CodeGy CodeGym o od ode odeG odeGy odeGym d de deG deGy deGym e eG eGy eGym G Gy Gym y ym m Proses rampung nganggo kode metu 0 Cara nemokake substring umum paling dawa Masalah substring umum paling dawa minangka salah sawijining tugas sing paling populer ing ilmu komputer. Sampeyan bisa ketemu ing wawancara Junior Developer karo kemungkinan cukup dhuwur. Oalah, nyoba kanggo ngatasi, iku latihan banget migunani kanggo programmer pamula. Masalah substring umum sing paling dawa tegese nemokake senar paling dawa (utawa sawetara) sing minangka substring (utawa substrings) saka loro utawa luwih senar. Contone, sampeyan duwe rong senar

String first = "CodeGym" 
String second = "SomeGym"
Output kudu: eGym Dadi, sampeyan kudu strings "pisanan" lan "kapindho". Nyetak substring umum sing paling dawa. Yen loro utawa luwih substrings duwe nilai sing padha kanggo substring umum paling dawa, print samubarang mau. Disaranake sampeyan nyoba ngatasi masalah iki dhewe lan mung sawise mriksa kode ing ngisor iki.

public class SubStringTest {

   //  in this method we are looking for the Longest common substring of
   // first String with length = m  and the second String with length = n
   public static String longestCS(String first, String second, int m, int n) {
       // the maximal length
       int maxLength = 0;
       // the last index of the longest common substring
       int endIndex = m;

       // array stores the length of substring
       int[][] keeper = new int[m + 1][n + 1];

       for (int i = 1; i <= m; i++) {
           for (int j = 1; j <= n; j++) {
               // check if current characters of first and second strings match
               if (first.charAt(i - 1) == second.charAt(j - 1)) {
                   keeper[i][j] = keeper[i - 1][j - 1] + 1;
                  
                   if (keeper[i][j] > maxLength) {
                       maxLength = keeper[i][j];
                       endIndex = i;
                   }
               }
           }
       }
       return first.substring(endIndex - maxLength, endIndex);
   }


   public static void main(String[] args) {
       String first = "CodeGym";
       String second = "SomeGym";
       int m = first.length(), n = second.length();
       System.out.println("The longest common substring = " + longestCS(first, second, m, n));
   }
}
Output yaiku: Substring umum paling dawa = eGym

Kepiye cara substring ing Jawa

Ing JDK 7 lan versi sing luwih anyar, substring () ora ngetung maneh jumlah karakter ing array karakter sing digawe, kaya sing ditindakake ing versi sadurunge JDK 6 kalebu, nanging mung nggawe array anyar ing memori (numpuk) lan nuduhake. . Punika conto:

String x = "CodeGymIsTheBest";
String y = x.substring (2,6);
String z = x.substring (0,3);
Dadi, ing JDK 7 lan mengko, obyek y lan z digawe minangka asil saka metode substring () sing ditrapake kanggo obyek x bakal ngrujuk menyang rong array sing mentas digawe (ing tumpukan) - {d,e, G, y} kanggo y lan {C, o} kanggo z . Ing JDK 7 + versi substring metode, rong baris anyar iki (yaiku rong susunan karakter anyar) bakal disimpen ing memori bebarengan karo string asli myLongString ({ C, o, d, e, G, y, m, i, s, t, h, e, b, e, s, t} awujud susunan) .

JDK 6 versi substring

Malah dina iki ing sawetara proyek gedhe sampeyan bisa ketemu basis kode warisan saka JDK 6 kaping. Ing JDK 6 cara substring () dianggo ing cara sing beda. Sing mbokmenawa ngerti, String Kelas immutable lan kanggo njaluk substring Jawa digunakake immutability iki sadurungé JDK 6. Obyek saka jinis String nang mung Uploaded saka karakter, utawa rodo, ngemot Uploaded karakter. Ing wektu JDK 6, rong variabel liyane disimpen ing kono: nomer karakter pisanan ing array karakter lan jumlahe. Dadi, ing JDK 6, String nduweni telung kolom nilai karakter [] (karakter array), int offset (indeks karakter pisanan ing array), lan int count.(jumlah karakter ing larik). Nalika substring digawe ing JDK 6, susunan karakter ora disalin menyang obyek String anyar . Nanging iki, loro Obyek nyimpen referensi kanggo Array Karakter padha. Nanging Obyek kapindho nyimpen loro variabel liyane, simbol pisanan saka substring lan kaloro babagan carane akeh simbol ing substring. Cara JDK 6 diganti amarga masalah bocor memori. Iki artine apa? Ayo dadi nganggep kita duwe senar x, lan kita nggawe saperangan saka substrings nggunakake substrings.

String x = "CodeGymIsTheBest";
String y = x.substring (2,6);
String z = x.substring (0,3);
Saiki kita duwe obyek x sing disimpen ing area memori khusus sing disebut heap, lan rong obyek y lan z nuduhake obyek sing padha x . Mung x nuduhake unsur saka kaloro nganti enem, lan z nuduhake unsur x saka nol kanggo katelu. Apa yen obyek asli x wis digunakake lan ditinggal tanpa referensi? Ing program, kabeh obyek liyane bisa digunakake mung karo y lan z . Ing kasus iki, kolektor sampah bisa ngrusak obyek x, nalika Uploaded memori tetep, lan digunakake dening y lan z. Kebocoran memori kedadeyan. Dadi, sing luwih anyar, JDK 7 lan versi sing luwih anyar, cara kasebut cukup larang babagan panggunaan memori. Nanging ngidini sampeyan nyegah bocor memori. Kajaba iku, cara anyar luwih cepet, amarga ora kudu ngetung jumlah karakter. Kanggo nguatake apa sing sampeyan sinau, disaranake sampeyan nonton video pelajaran saka Kursus Jawa
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION