senza passare attraverso la sequenza di char c'è un modo per invertire String
in JavaUn modo semplice per invertire String
risposta
Prova questa,
String s = "responses";
StringBuilder builder = new StringBuilder(s);
System.out.println(builder.reverse());
Usa StringBuilder's
o StringBuffer's
metodo ... reverse()
public class StringReverse
{
public static void main(String[] args)
{
String string=args[0];
String reverse = new StringBuffer(string).reverse().toString();
System.out.println("\nString before reverse: "+string);
System.out.println("String after reverse: "+reverse);
}
}
StringBuffer
è thread-safe , dove StringBuilder
è Non thread safe ..... StringBuilder
è stato introdotto da Java 1.5, come per fare quelle operazioni più velocemente che non ha alcuna concorrenza di cui preoccuparsi ....
È possibile utilizzare il StringBuilder#reverse()
method:
String reverse = new StringBuilder(originalString).reverse().toString();
Prova metodo reverse() :
StringBuilder stringName = new StringBuilder();
String reverse = stringName.reverse().toString();
Sei sicuro che questo metodo esista? http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html –
Grazie per il tuo consiglio, la domanda non ha risposto correttamente – lfergon
È possibile utilizzare buffer di stringa per invertire una stringa.
public String reverse(String s) {
return new StringBuffer(s).reverse().toString();
}
un modo più interessante per farlo è la ricorsione.
public String reverse(String s) {
if (s.length() <= 1) {
return s;
}
return reverse(s.substring(1, s.length())) + s.charAt(0);
}
È possibile utilizzare StringBuilder ..
String word = "Hello World!";
StringBuilder sb = new StringBuilder(word);
System.out.print(sb.reverse());
"Senza passare attraverso la sequenza di char .." - un modo semplice:
public String reverse(String post)
{
String backward = "";
for(int i = post.length()-1; i >= 0; i--) {
backward = backward + post.substring(i, i+1);
}
return backward;
}
questo è un modo per farlo utilizzando ricorsione -
public static String reverse(String s1){
int l = s1.length();
if (l>1)
return(s1.substring(l-1) + reverse(s1.substring(0,l-1)));
else
return(s1.substring(0));
}
Qui ho un campione dello stesso utilizzando il metodo substring e o (n) senza utilizzare alcun nethod dalla stringa. Sono consapevole che l'utilizzo della sottostringa terrà la memoria completa delle stringhe.
for(int i = 0; i < s.length(); i++) {
s = s.substring(1, s.length() - i) + s.charAt(0) + s.substring(s.length() - i);
System.out.println(s);
}
Questo potrebbe aiutarti !!
Utilizzo di supporto API minimo. Un semplice algoritmo.
static String reverse(String str) {
char[] buffer = str.toCharArray();
for (int i = 0; i < buffer.length/2; ++i){
char c = buffer[i];
buffer[i] = buffer[buffer.length-1-i];
buffer[buffer.length-1-i] = c;
}
return new String(buffer);
}
public class RevString {
public static void main(String[] args) {
String s="jagan";
String rev="";
for (int i=s.length()-1;i>=0;i--) {
rev=rev+s.charAt(i);
}
System.out.println("Reverse String is: "+rev);
}
}
Questa è la stessa logica di quella di nazar_art risposta dal 2013 –
non ho visto alcun modo semplice. Qui è il modo adatto per fare:
Utilizzo del ciclo:
String d = "abcdefghij";
char b[] = new char[d.length()];// new array;
int j=0; // for the array indexing
for(int i=d.length()-1;i>=0;i--){
b[j] = d.charAt(i); // input the last value of d in first of b i.e. b[0] = d[n-1]
j++;
}
System.out.println("The reverse string is: "+String.valueOf(b));
uscita è
The reverse string is: jihgfedcba
La logica semplice è:
array[i] = array[n-i];
dove i è l'iterazione e n è la lunghezza totale della gamma
- 1. Invertire una stringa (domanda semplice)
- 2. modo migliore per invertire caso di stringa
- 3. C'è un modo per invertire una crypt() in c?
- 4. C#, modo rapido per invertire un bool nullable?
- 5. Il modo più efficace per invertire l'ordine di un BitArray?
- 6. Un modo semplice per disabilitare un UITextField?
- 7. Modo elegante per invertire una mappa in Scala
- 8. semplice - utilizzando String # scansione per estrarre un indirizzo email
- 9. c'è un modo semplice per convertire il mio oggetto XML in String in java?
- 10. Esiste un modo semplice per convertire String in Inetaddress in Java?
- 11. C'è un modo per invertire in modo efficiente un array di matrici con numpy?
- 12. C'è un modo semplice per usare InternalsVisibleToAttribute?
- 13. Un modo semplice per popolare questa matrice?
- 14. phpinfo: un modo semplice per vederlo?
- 15. Un modo semplice per riordinare le colonne?
- 16. Un modo semplice per unire i plists?
- 17. Un modo semplice per appiattire questo array?
- 18. Posso "invertire" un bool?
- 19. C'è un modo semplice per impostare nullglob per un glob
- 20. C'è un modo per convertire RedisValue [] in string []?
- 21. Il modo più semplice per implodere() un array bidimensionale?
- 22. Magento - Il modo migliore per invertire una collezione
- 23. Il modo più veloce per invertire una stringa in C
- 24. modo semplice per confrontare 2 ArrayLists
- 25. Espressione lambda per invertire una stringa - Java
- 26. Il modo più semplice in Java per trasformare String in UUID
- 27. modo semplice per esportare DataGridView a Excel
- 28. Esiste un modo semplice per testare due PNG per l'uguaglianza?
- 29. Un modo semplice per eseguire un layout dinamico ma quadrato
- 30. Esiste un modo semplice per randomizzare un elenco in VB.NET?
dispiace ... per errore ho perso la parte Builder e Buffer –
Vedere l'esempio –
Si dovrebbe usare StringBuilder vs. StringBuffer, se non avete problemi di concorrenza a risolvere. – assylias