Syntro126 Posted March 3, 2017 Report Share Posted March 3, 2017 Salut, m-am apucat de cateva zile de java si incerc sa fac un program sa-mi transforme text in binar dar nu prea imi iese. Cand introduc textul imi apare cate un 0 pentru fiecare litera. Metoda binary am verificat-o separat si merge. package bench; import java.util.Scanner; public class Function { public static void main(String args[]){ Scanner input = new Scanner(System.in); String text = input.nextLine(); int n = text.length(); int m[] = new int[n]; String x[] ={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}; for(int i = 0; i < text.length(); i++){ for(int j = 0; j < x.length ; j++){ if(text.substring(i,i+1) == x[j]) m = 97 + j; } } for(int j1 = 0 ; j1 < m.length ; j1++){ binary(m[j1]); } } public static void binary(int c){ int d = 1 , e = 0 ; while(c >=1 ){ if(c % 2 == 0) d = d*10; else d = d*10 + 1; c = c / 2; } while(d > 1){ e = e*10 + d % 10; d = d/10; } System.out.print(e + " "); } } Quote Link to comment Share on other sites More sharing options...
AlStar Posted March 4, 2017 Report Share Posted March 4, 2017 Cum ai pus codul aici? 13 hours ago, Syntro126 said: m = 97 + j; Cateva linii mai sus, m e int[] - compile error 2. De ce cauti in x[]? De ce pui 97+j , in loc de x[j] ? "A" nu poate fi convertit de binary? Daca te intereseaza doar literele mici, poti verifica fiecare litera din input cu intervalul [97, 122] 3. Unul din cele mai importante lucruri pe care le-am invatat in programare a fost sa nu folosesc variabile de genul a,b,c,x,plm. i,j - sunt ok ca si indecsi, dar fara j1. In cazul de fata, j1 poate fi redenumit in i, intrucat nu mai exista inafara primului for. n - inputLength, m - extractedLetters (sau ceva de genul). N-am compilat codul, dar la prima vedere pare a fi o problema in modul de constructie a array-ului m. Quote Link to comment Share on other sites More sharing options...
Syntro126 Posted March 4, 2017 Author Report Share Posted March 4, 2017 Mersi pentru sfaturi, am rezolvat. Am scos n si m[] si am schimbat if- ul ala si mi-a iesit Quote Link to comment Share on other sites More sharing options...