Rumah >Java >javaTutorial >Tukar perkataan sudut dan selak aksara tengah

Tukar perkataan sudut dan selak aksara tengah

王林
王林ke hadapan
2023-08-21 08:49:06575semak imbas

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.

Pernyataan Masalah

Memandangkan rentetan, kita perlu menukar perkataan pertama dan terakhir, dan membalikkan susunan aksara tengah, memastikan aksara pertama dan terakhir rentetan tidak berubah.

Kaedah

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.

Contoh

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"));
   }
}

Output

Jvaa wlrod tihs is Hlleo
Terjemahan bahasa Cina bagi

Penjelasan

ialah:

Penjelasan

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.

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam