- 1
- 2
- 3
public class RecordCount {
public static int reccounter = 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+147
public class RecordCount {
public static int reccounter = 0;
}
+147
public class Matrix {
private float matrix[][];
private int dim;
public Matrix(int dim) {
this.dim = dim;
this.matrix = new float[dim][dim];
}
public void productOfTwo(Matrix src, Matrix dest) {
if (src.dim == this.dim) {
dest.dim = this.dim;
Matrix[] temp = new Matrix[this.dim];
for (int i = 0; i < this.dim; i++) {
temp[i] = new Matrix(this.dim);
}
for (int i = 0; i < this.dim; i++) {
for (int j = 0; j < this.dim; j++) {
for (int k = 0; k < this.dim; k++) {
temp[k].matrix[i][j] = this.matrix[i][k] * src.matrix[k][j];
}
}
}
for (int i = 0; i < this.dim; i++) {
dest.sum(temp[i]);
}
} else {
System.out.println(" An error occured: Dimensions of matrices do not match");
}
}
public float findDet() {
if (this.dim == 1) {
return this.matrix[0][0];
} else if (this.dim == 2) {
return this.matrix[0][0] * this.matrix[1][1] - this.matrix[0][1] * this.matrix[1][0];
} else {
float result = 0;
Matrix minor = new Matrix(this.dim - 1);
for (int i = 0; i < this.dim; i++) {
for (int j = 1; j < this.dim; j++) {
System.arraycopy(this.matrix[j], 0, minor.matrix[j - 1], 0, i);
System.arraycopy(this.matrix[j], i + 1, minor.matrix[j - 1], i, this.dim - (i + 1));
}
result += Math.pow(-1, i) * this.matrix[0][i] * minor.findDet();
}
return result;
}
}
Всем доброго времени суток! Прошу к Вашему вниманию алгоритм нахождения произведения двух матриц(умножаем слева направо) и нахождения детерминанта разложением по столбцу(рекурсия). Прошу оценить, по всей строгости.
Заранее спасибо!
+90
@Override
public Object clone() {
try {
return super.clone();
} catch (Exception e) {
return this;
}
}
"Клонирование"
+77
public static <T> T createInstance(String className, Object ... ctorParams)
{
Class<T> type;
try {
type = (Class <T>) Class.forName(className);
}
catch (ClassNotFoundException e) { throw new RuntimeException(e); }
Class <?> [] paramTypes = new Class [ctorParams.length];
for(int i = 0; i < ctorParams.length; i ++)
paramTypes[i] = (Class <?>) ctorParams[i].getClass();
Constructor<T> ctor;
try {
ctor = type.getConstructor(paramTypes);
}
catch (SecurityException e) { throw new RuntimeException(e); }
catch (NoSuchMethodException e){ throw new RuntimeException(e); }
T instance;
try {
instance = ctor.newInstance(ctorParams);
}
catch (IllegalArgumentException e) { throw new RuntimeException(e); }
catch (InstantiationException e) { throw new RuntimeException(e); }
catch (IllegalAccessException e) { throw new RuntimeException(e); }
catch (InvocationTargetException e) { throw new RuntimeException(e); }
return instance;
}
Тут само Java вынуждает говнокодить. О святая простота!
+75
public static String ellipsizeText(String text, Context cnt) {
int COUNT_OF_CHARACTERS_LDPI = 10;
int COUNT_OF_CHARACTERS_MDPI = 20;
int COUNT_OF_CHARACTERS_HDPI = 30;
String ellipsizeT = "...";
String newText = text;
switch (cnt.getResources().getDisplayMetrics().densityDpi) {
case DisplayMetrics.DENSITY_LOW:
if (text.length() > COUNT_OF_CHARACTERS_LDPI) {
newText = text.substring(0, COUNT_OF_CHARACTERS_LDPI) + ellipsizeT;
}
break;
case DisplayMetrics.DENSITY_MEDIUM:
if (text.length() > COUNT_OF_CHARACTERS_MDPI) {
newText = text.substring(0, COUNT_OF_CHARACTERS_MDPI) + ellipsizeT;
}
break;
case DisplayMetrics.DENSITY_HIGH:
if (text.length() > COUNT_OF_CHARACTERS_HDPI) {
newText = text.substring(0, COUNT_OF_CHARACTERS_HDPI) + ellipsizeT;
}
break;
}
return newText;
}
Android
Таким нехитрым способом заменяется реализация стандартной процедуры TextView.setEllipsize(TextUtils.Truncate At.END);
+129
public static String forHTML(String aText){
final StringBuilder result = new StringBuilder();
final StringCharacterIterator iterator = new StringCharacterIterator(aText);
char character = iterator.current();
while (character != CharacterIterator.DONE ){
if (character == '<') {
result.append("<");
}
else if (character == '>') {
result.append(">");
}
else if (character == '&') {
result.append("&");
}
else if (character == '\"') {
result.append(""");
}
else if (character == '\t') {
addCharEntity(9, result);
}
else if (character == '!') {
addCharEntity(33, result);
}
else if (character == '#') {
addCharEntity(35, result);
}
else if (character == '$') {
addCharEntity(36, result);
}
........................................
else if (character == '|') {
addCharEntity(124, result);
}
else if (character == '}') {
addCharEntity(125, result);
}
else if (character == '~') {
addCharEntity(126, result);
}
else {
//the char is not a special one
//add it to the result as is
result.append(character);
}
character = iterator.next();
}
return result.toString();
}
Escape special characters for wiseguys.
http://www.javapractices.com/topic/TopicAction.do?Id=96
+71
String[] yesno = {"Y", "Yes", "N", "No"};
for (int ii = 0; ii < yesno.length; ii += 2) {
String[] data = new String[2];
data[0] = yesno[ii];
data[1] = yesno[ii + 1];
Globals.yes_no.add(data);
}
+147
if(!xmlDate.equals(null))
{
...
}
else
{
return null;
}
Для полноты картинки смотрим метод equals в XMLGregorianCalendar.java. Стажеры такие стажеры...
+78
private String createJndiName(Class homeClass) {
return "ejb/" + homeClass.getName().replace(".".charAt(0), "/".charAt(0));
}
no comments
+96
public boolean isProductActionDtoListEmpty() {
boolean noEmpty = false;
boolean isEmpty = productActionDtoList.isEmpty();
if(isEmpty == true){
return isEmpty;
}
return noEmpty;
}
джуниор закомитил, плакали все :)