Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public String encrypt(String text)
- {
- String help="",returnString="";//מחרוזות עזר
- int count=0;//נשתמש בו על מנת ליצור רווחים במחזורת החדשה
- for(int i=0;i<text.length();i++)
- {
- if(text.charAt(i)!=' ')//להיפטר מכל הרווחים, כלומר ליצור אותה מחרוזת ללא רווחים
- help=help+text.charAt(i);
- }
- char[][]array=new char[this.rows][help.length()/this.rows+help.length()%this.rows];//בניית המערך הדו מימדי
- for(int i=0;i<help.length();i++)//הכנסת תווי המחרוזת בלי הרווחים למערך
- {
- array[i%array.length][i/array.length]=help.charAt(i);
- }
- for(int t=0;t<array.length;t++)//יציירת המחרוזת המוחזרת
- {
- for(int r=0;r<array[0].length;r++)
- {
- if(array[t][r]>='a'&&array[t][r]<='z')//נרצה לקחת רק את התווים במערך שרלוונטים לשאלה (כפי הנתון בשאלה,ניתן להניח שהתווים במילה הם בין איי לזד, ומכל שאר התווים (התאים הרקים) נרצה להתעלם) ש
- {
- returnString=returnString+array[t][r];//נשרשר כל פעם את התו הנוכחי למחרוזת המוצפת, כאשר עוברים על המערך בצורה הרצויה-החל מהשורה האפס ימינה ולרדת למעטה שנגמרת שורה
- count++;//סופר את כמות התווים במחזורת המוצפנת. כמבוקש בשאלה,כל איקס תווים נרצה לעשות רווח, ובמקרה הזה ארבע
- }
- if(count!=0&&count%4==0)//לפי הדוגמא בשאלה גודל המילה הוא ארבע. באופן כללי ניתן להגדיר משתנה שיהיה גודל המילה ואז במקום ארבע לרשום את המשתנה הנ"ל
- returnString=returnString+" ";
- }
- }
- return returnString;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement