2

我想知道如何在零件上拆分一个数字,然后将它们相互比较

例如,我有一组数字

 989010
 990009
 991008
 992992
 993006
 994005
 995004

我想将每个数字分成两部分-->>

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

在那之后,我想我可以比较两个字符串,对吧?

我是说,

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

看来我应该使用拆分功能,但是我很困惑如何仅在两个部分而不是更多部分上分开

提前致谢!

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

你可以通过几种方式做到这一点。

要么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
`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()。我更新了我的代码以生成两个整数。可能提供额外的比较功能。

于 2013-02-19T08:57:17.373 回答
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 回答