2

パーツの数を分割して、それらを互いに比較する方法を考えています

たとえば、私は一連の数字を持っています

 989010
 990009
 991008
 992992
 993006
 994005
 995004

それぞれの数字を2つに分けたい->>

if it's 989010 -- it will be like '989' and '010'. 

その後、2つの文字列を比較できると思いますよね?

つまり、

   '989' != '010'  true
   '990' != '009'  true 
   '992' != '992'  false

分割関数を使用する必要があるようですが、2つの部分だけで分離する方法を混乱させました。

前もって感謝します!

4

5 に答える 5

8
String str = "989010";

System.out.println(str.substring(0, 3).equals(str.substring(3,6)));
于 2013-02-19T08:47:16.103 に答える
4

これを行うにはいくつかの方法があります。

2つの文字列を取得するかString.substring、数値を除算することができます

int number = 123456;
int firstPart = number / 1000;
int secondPart = number - firstPart * 1000;

編集
申し訳ありませんが-急いでいました。
それを補うために、私は解決する価値のある問題が(しばしば不可解な)言語で解決できることをもう一度証明しますregex

    final String[] strings = new String[]{"123123", "123456"};
    final Pattern pattern = Pattern.compile("([\\d]{3})\\1");
    for (final String string : strings) {
        final Matcher matcher = pattern.matcher(string);
        if (matcher.matches()) {
            System.out.println(string + " matches.");
        }
    }

出力:

run:
123123 matches.
BUILD SUCCESSFUL (total time: 0 seconds)

そして、それもかかります0 seconds、ハ。

于 2013-02-19T08:48:42.280 に答える
1
    Long number = 989010L;
    String text = number.toString();
    String firstPart = text.substring(0,3);
    String secondPart = text.substring(3);

    Long firstNumber = Long.parseLong(firstPart);
    Long secondNumber = Long.parseLong(secondPart);

    System.out.println(firstNumber == secondNumber);
于 2013-02-19T08:48:57.267 に答える
1

これを見てください

public static void main(String[] args) {

        String[] values = { "989010", "990009", "991008", "992992", "993006", "994005", "995004" };

        for(String value : values) {
            String firstPart = value.substring(0, 3);
            String secondPart = value.substring(3);
            if(firstPart.equals(secondPart)) {
                System.out.println(firstPart + " equals " + secondPart);
            }
        }
    }
于 2013-02-19T08:53:45.097 に答える
1
`String s = "931492";
 int first = Integer.parseInt(s.substring(0, s.length()/2));
 int second = Integer.parseInt(s.substring(s.length()/2));
 if (first != second)
 {
    System.out.println("Not equal");
 }`

編集:正しい私は間違った部分文字列を比較していました、それは申し訳ありません。また、Javaで文字列を比較する場合は、equals()を使用する必要があります。2つの整数を生成するようにコードを更新しました。追加の比較機能を提供する場合があります。

于 2013-02-19T08:57:17.373 に答える