Rumah >Java >javaTutorial >Tukar perkataan sudut dan selak aksara tengah
Dalam artikel ini, kita akan menyelidiki masalah manipulasi rentetan yang menarik yang melibatkan pertukaran perkataan sudut rentetan dan menterbalikkan aksara tengah Masalah seperti ini agak biasa dalam temu bual pengekodan, dan ia merupakan cara yang bagus untuk mempertingkatkan pemahaman anda tentang manipulasi rentetan dalam Java.
Java menyediakan banyak alat manipulasi rentetan. Daripada operasi penggabungan dan perbandingan asas kepada tugas yang lebih kompleks seperti pembalikan dan pertukaran rentetan, API String Java boleh mengendalikan semuanya. Masalah yang menarik ialah menukar perkataan pertama dan terakhir rentetan dan membalikkan aksara tengah. Masalah ini boleh diselesaikan dengan menggabungkan kaedah String terbina dalam Java dengan beberapa logik manual.
Memandangkan rentetan, kita perlu menukar perkataan pertama dan terakhir, dan membalikkan susunan aksara tengah, memastikan aksara pertama dan terakhir rentetan tidak berubah.
Strategi untuk menyelesaikan masalah ini adalah mudah −
Pisah rentetan input kepada perkataan.
Tukar perkataan pertama dan terakhir.
Terbalikkan susunan aksara tengah sambil mengekalkan aksara pertama dan terakhir rentetan dalam kedudukan asalnya.
Menggabungkan semula perkataan menjadi rentetan.
Di bawah ialah fungsi Java yang melaksanakan pendekatan yang diterangkan di atas −
import java.util.*; public class Main { public static String swapAndReverse(String input) { String[] words = input.split(" "); // Swap the first and last words String temp = words[0]; words[0] = words[words.length - 1]; words[words.length - 1] = temp; // Reverse the middle characters of the string, leaving the first and last characters intact for(int i = 0; i < words.length; i++) { if(words[i].length() > 2) { String middleCharacters = words[i].substring(1, words[i].length() - 1); String reversedMiddleCharacters = new StringBuilder(middleCharacters).reverse().toString(); words[i] = words[i].charAt(0) + reversedMiddleCharacters + words[i].charAt(words[i].length() - 1); } } // Join the words back into a string return String.join(" ", words); } public static void main(String[] args) { System.out.println(swapAndReverse("Hello world this is Java")); } }
Jvaa wlrod tihs is HlleoTerjemahan bahasa Cina bagi
Mari kita uji fungsi kita dengan rentetan "Hello world this is Java".
Perkataan dalam rentetan ialah ["Hello", "world", "this", "is", "Java"]. Selepas menukar perkataan pertama dan terakhir, kita mendapat ["Java", "world", "this ", "adalah", "Helo"].
Kemudian kita membalikkan aksara tengah setiap perkataan, tidak termasuk aksara pertama dan terakhir, menghasilkan ["Jvaa", "wlrod", "tihs", "is", "Hlleo"].
Akhir sekali, kami menyambung semula perkataan menjadi rentetan: "Jvaa wlrod tihs is Hlleo".
Jadi, output swapAndReverse("Hello world this is Java") ialah "Jvaa wlrod tihs is Hlleo".
Fungsi swapAndReverse berfungsi dengan betul, dan ternyata ia menukar perkataan penjuru dengan tepat dan menterbalikkan aksara tengah dalam rentetan yang diberikan Kami berharap contoh ini menjelaskan operasi fungsi tersebut.
Java menawarkan pelbagai jenis alatan untuk memanipulasi rentetan, menjadikannya ideal untuk menyelesaikan masalah seperti menukar perkataan sudut dan menterbalikkan aksara tengah dalam rentetan Penguasaan kemahiran ini akan membantu anda dalam temu bual pengekodan dan tugas pengaturcaraan harian anda.
Atas ialah kandungan terperinci Tukar perkataan sudut dan selak aksara tengah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!