Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Сравнение / 6 сообщений из 6, страница 1 из 1
14.12.2014, 06:51
    #38833312
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение
Добрый день можно ли как то упростить сравнение.

Код: java
1.
2.
3.
                if(list[i][0].indexOf("707") == 1 || list[i][0].indexOf("707") == 2 || list[i][0].indexOf("745") == 1 || list[i][0].indexOf("745") == 2){
                    System.out.println(list[i][1]);
                }


написать так чтобы к примеру закинуть в одну переменную 707 и 747,
и искать по этой переменной, или если можно то сделать его еще короче
...
Рейтинг: 0 / 0
14.12.2014, 07:02
    #38833314
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение
Елдос,

Сделайте проверку в цикле:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
String s = list[i][0];
String[] codes = new String[] { 
	"707", "745"
};
int[] indices = new int[] { 1, 2 };
for (String code: codes) {
    boolean ok = false;
    for (int index: indices) {
        if (s.indexOf(code) == index) {
            ok = true;
            break;
        }
    }
    if (ok) {
        System.out.println(list[i][1]);
    }
}


P.S.
Парсьте регулярками :)
...
Рейтинг: 0 / 0
14.12.2014, 07:20
    #38833316
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение
UsmanЕлдос,

Сделайте проверку в цикле:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
String s = list[i][0];
String[] codes = new String[] { 
	"707", "745"
};
int[] indices = new int[] { 1, 2 };
for (String code: codes) {
    boolean ok = false;
    for (int index: indices) {
        if (s.indexOf(code) == index) {
            ok = true;
            break;
        }
    }
    if (ok) {
        System.out.println(list[i][1]);
    }
}


P.S.
Парсьте регулярками :)
да была такая идея, я так сделаю если надо будет много сравнить
а нельзя ли сделать код короче чем мой,
...
Рейтинг: 0 / 0
14.12.2014, 07:26
    #38833317
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение
Елдоса нельзя ли сделать код короче чем мой,
Код: java
1.
2.
3.
4.
5.
6.
String s = list[i][0];
String s1 = s.substring(1);
String s2 = s.substring(2);
if (s1.startsWith("707") || s2.startsWith("707") || s1.startsWith("745") || s2.startsWith("745")) {
    System.out.println(list[i][1]);
}
...
Рейтинг: 0 / 0
14.12.2014, 08:13
    #38833322
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение
UsmanЕлдоса нельзя ли сделать код короче чем мой,
Код: java
1.
2.
3.
4.
5.
6.
String s = list[i][0];
String s1 = s.substring(1);
String s2 = s.substring(2);
if (s1.startsWith("707") || s2.startsWith("707") || s1.startsWith("745") || s2.startsWith("745")) {
    System.out.println(list[i][1]);
}



Код: java
1.
2.
3.
4.
5.
String s = "707 745";
String s1 = "970724897";
if(s.indexOf(s1.substring(1) < 0 || s.indexOf(s1.substring(2)< 0){
} else{
System.out.println(s);}


так тоже можно
...
Рейтинг: 0 / 0
14.12.2014, 09:17
    #38833330
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение
ЕлдосДобрый день можно ли как то упростить сравнение.

Код: java
1.
2.
3.
                if(list[i][0].indexOf("707") == 1 || list[i][0].indexOf("707") == 2 || list[i][0].indexOf("745") == 1 || list[i][0].indexOf("745") == 2){
                    System.out.println(list[i][1]);
                }


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
package strangelist;

import static java.lang.System.out;

public class StrangeList {

    public static void main(String[] args) {
        String[][] strangeList = {
            {" 707"  , "+"},
            {"707"   , "-"},
            {"  707" , "+"},
            {"   707", "-"},
            {" 745"  , "+"},
            {"  745" , "+"}
        };

        for (String[] arr : strangeList) {
            String text = arr[0];
            if (matchToYou(text, "707") || matchToYou(text, "745")) {
                out.println(arr[1]);
            }
        }
    }

    public static boolean matchToYou(String text, String substring) {
        return containsAt(text, 1, substring) || containsAt(text, 2, substring);
    }

    public static boolean containsAt(String text, int pos, String substring) {
        return text.regionMatches(pos, substring, 0, substring.length());
    }
}
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Сравнение / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]