Jump to content
Teteus

Java String a[][] to char [][]

Recommended Posts

Posted (edited)

Salutare,

Ma poate elucida cineva in transformare unui string 2d in char 2d daca este posibila aceasta transformare.

As dori sa transform String a[j] in char b[j],practic stringurile din a sa mi le transforme in caractere sa mi le puna in char de b[][].

Daca as folosi tehnicile cunoscute nu m-ar ajuta deoarece se foloseste un char 1d.

Edited by Teteus
Posted

Pai ai o problema.

String a[j] inseamna o matrice cu i randuri si j coloane de stringuri.

Dar un string este o matrice cu 1 singur rand si cu x numar de coloane(numarul de caractere din string)

daca tu vrei sa transformi din string in char atunci va mai trebui sa adaugi inca o dimensiune la char b

pentru ca string a[j] este de fapt un char[x];

Va trebui sa faci o functie ce trece prin fiecare rand si coloana din String a[j] si pentru fiecare string creezi un char c[] pe care il adaugi la char b[j][x];

Posted
In a[j] (oricare ar fi i si j) ai doar un caracter?

pot avea si mai multe caractere...eu vreau sa verific o matrice de caractere sa vad daca este simetrica(palindrom).ex

ba 2 ab

ba 2 ab;

deci ba=ab si ba=ab pot spune ca matricea mea de 3x2 este simetrica si palindrom dupa coloana2.Eu am reusit sa fac chestia asta cu stringuri dar nu pot verivica carectere intre ele si am obtinut asa:

ab 2 ab

ab 2 ab

atunci simetrica si palindrom.Simetrica este da nu mai este palindrom...deci nu pot lucra cu caracterele intr un string.De aceea ma interesa sa trec string in caractere .

Posted (edited)
pot avea si mai multe caractere...eu vreau sa verific o matrice de caractere sa vad daca este simetrica(palindrom).ex

ba 2 ab

ba 2 ab;

deci ba=ab si ba=ab pot spune ca matricea mea de 3x2 este simetrica si palindrom dupa coloana2.Eu am reusit sa fac chestia asta cu stringuri dar nu pot verivica carectere intre ele si am obtinut asa:

ab 2 ab

ab 2 ab

atunci simetrica si palindrom.Simetrica este da nu mai este palindrom...deci nu pot lucra cu caracterele intr un string.De aceea ma interesa sa trec string in caractere .

O sa iti explic cu alte cuvinte ce ziceau nedo si alzheimer.

Trebuie sa privesti un obiect de tip String ca fiind o insiruire de caractere sau, mai bine zis, ca un char[] (desi nu este chiar asa, dar nu vreau sa ne complicam). Ca sa convertesti un String intr-un char[] trebuie sa folosesti metoda toCharArray().

De exemplu:

String str = "ana";
char[] charArray = new char[str.length()];
charArray = str.toCharArray();

/* Sa afisam rezultatul */
for (char c : charArray){
System.out.print(c);
}
System.out.println("");

Pentru problema ta vei avea:

String[][] myStringArray = new String[100][100];
char[][][] myCharArray = new char[100][100][500];

/* Citesti datele si apoi populezi myCharArray in modul urmator: */
for(int i = 0; i<100; i++){
for(int j=0; j<100; j++){
myCharArray[i][j] = myStringArray[i][j].toCharArray();
}
}

De asemenea, poti compara daca un String este palindrom fara a-l converti intr-un tablou de char:


String[] str = new String[100];

/* Citesti datele si apoi: */
int i,j,k;

for(k=0; k< 100; k++){
for( i = 0, j = str[k].length()-1;i<j;i++,j-- ){
if(str[k].charAt(i)!=str[k].charAt(j)){
break;
}
}
if(i>=j){
System.out.println("Sirul " + k + " este palindrom");
} else {
System.out.println("Sirul " + k + " nu este palindrom");
}
}

Sau o metoda cu mai putine linii de cod:

String[] str = new String[100];

/* Citesti datele si apoi: */
for(int i=0; i<100; i++){
if(str[i].equals(new StringBuilder(str[i]).reverse().toString())){
System.out.println("Sirul " + i + " este palindrom");
} else {
System.out.println("Sirul " + i + " nu este palindrom");
}
}

Edited by FreddieTux

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...