- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
package bytestring;
public class Main {
public static void main(String[] args) {
String source = new String("A ya sdelal etu hren s perevorotom stroki s ispolzovaniem bayta");
byte bytes[] = source.getBytes();
////////////////////////////////////////////////////////////////////////
int i, j;
int length, first, last;
byte a;
length = bytes.length;
//Переворачиваем всю строку
for(i = 0; i < length / 2; i++) {
a = bytes[i];
bytes[i] = bytes[length - i - 1];
bytes[length - i - 1] = a;
}
//Переворачиваем каждое слово строки
first = 0;
for(i = 1; i <= length; i++)
if(i == length || bytes[i] == ' ') {
last = i - 1;
for(j = first; j <= first + (last - first) / 2; j++) {
a = bytes[j];
bytes[j] = bytes[first + last - j];
bytes[first + last - j] = a;
}
first = i + 1;
}
////////////////////////////////////////////////////////////////////////
char destination[] = new char[bytes.length];
for(i = 0; i < bytes.length; i++)
destination[i] = (char) bytes[i];
System.out.println(String.copyValueOf(destination));
}
}
Lure Of Chaos 28.11.2010 13:41 # 0
поздравляю. Осталось только пожелать, что бы вы делали программы, а не хрени - соответствующего качества = )
hedgecrab 28.11.2010 18:48 # 0
Было задание перевернуть порядок слов в byte[] строке, где слова разделены пробелом. Все операции над массивом должны производиться, используя только один byte, как промежуточный аккумулятор.
Что собственно я и сделал кстати вот более чистый код http://govnokod.com/3607
Я не критикую, мне интересно что некачественного в этом коде
З.Ы. действительно перепутал с говнобином, простите уж
user654321 28.11.2010 17:48 # 0
absolut 28.11.2010 18:40 # 0