Problema manipolazione String

di Anonimizzato8322 il
2 risposte
Salve a tutti! Ho notato un comportamento strano con questo apparentemente semplice codice

public String method1(){
     /*..............*/
    //chars array di caratteri non vuoto
    String output = "";
    for(int j=0; j<chars.length; j++){
	    output = output+chars[j];
    }
    return output;
}
Praticamente ho bisogno di convertire un array di caratteri (chars) in una stringa (output).
La stringa output viene poi memorizzata in un array di stringhe words

//words array di stringhe
j++;
words[j] = method1();
E' l'array a comportarsi in maniera strana. Se voglio stampare tutte le parole di words
In questo modo:

for(int i=0; i<words.length; i++){
	System.out.println(i+"  "+words[i]);
}
Con words = {ciao, come, stai}
Output:
0 ciao
1 come
2 stai


Ma in quest'altro modo:

for(int i=0; i<words.length; i++){
	System.out.print(i+"  "+words[i]+"   ");
}
Con words = {ciao, come, stai}
Output:
0 ciao


Perche' ?? E il resto che fine ha fatto?
Riesce a stamparli bene se si aggiunge lo \n ma non posso stamparli sulla stessa linea.

2 Risposte

  • Ciao,
    per copiare un array di char in una stringa, puoi fare così:
    
    package it.soluzionijava.lang;
    
    public class Classe {
        public static void main(String[] args) {
    	 char[] data = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'};
    		
    	 String text = String.valueOf(data);
    	 System.out.println(text);
        }
    }
    
Devi accedere o registrarti per scrivere nel forum
2 risposte