文件out.txt中,有如下内容:
1237/0468/1237
6475..0143..0938
567\02\567
856*856*685
0615---56---0156
78569 十769 个 56
3124+97+07
6705//0837//0367
。。
等几十条数据,要求:
1》编写程序,从out.txt中读取内容,经过处理后,显示效果(每行10组数据)如下:101 102 103 107 141 142 143 147 161 162
163 167 181 182 183 187 201 202 203 207
241 242 243 247 261 262 263 267 281 282
283 287 301 302 303 307 341 342 343 347
361 362 363 367 381 382 383 387 701 702
703 707 741 742 743 747 761 762 763 767
781 782 783 787 400 403 408 409 410 413 418 419 430 433
438 439 440 443 448 449 500 503 508 509
510 513 518 519 530 533 538 539 540 543
548 549 600 603 608 609 610 613 618 619
630 633 638 639 640 643 648 649 700 703
708 709 710 713 718 719 730 733 738 739
740 743 748 749 505 506 507 525 526 527 605 606 607 625
626 627 705 706 707 725 726 727 555 556 558 565 566 568 585 586 588 655
656 658 665 666 668 685 686 688 855 856
858 865 866 868 885 886 888 050 051 055 056 060 061 065 066 150 151
155 156 160 161 165 166 550 551 555 556
560 561 565 566 650 651 655 656 660 661
665 666 565 566 575 576 595 596 665 666 675 676
695 696 765 766 775 776 795 796 865 866
875 876 895 896 965 966 975 976 995 996
170 177 190 197 270 277 290 297 370 377
390 397 470 477 490 497 000 003 006 007 030 033 036 037 070 073
076 077 080 083 086 087 500 503 506 507
530 533 536 537 570 573 576 577 580 583
586 587 600 603 606 607 630 633 636 637
670 673 676 677 680 683 686 687 700 703
706 707 730 733 736 737 770 773 776 777
780 783 786 787
。。
注:相当于一条信息分成3部分,每部分有若干个数字,每个数字与另两部分中的每个数字组成一个3位数。
如:12、34、56 ,处理后应显示:135 136 145 146 235 236 245 246 。
1237/0468/1237
6475..0143..0938
567\02\567
856*856*685
0615---56---0156
78569 十769 个 56
3124+97+07
6705//0837//0367
。。
等几十条数据,要求:
1》编写程序,从out.txt中读取内容,经过处理后,显示效果(每行10组数据)如下:101 102 103 107 141 142 143 147 161 162
163 167 181 182 183 187 201 202 203 207
241 242 243 247 261 262 263 267 281 282
283 287 301 302 303 307 341 342 343 347
361 362 363 367 381 382 383 387 701 702
703 707 741 742 743 747 761 762 763 767
781 782 783 787 400 403 408 409 410 413 418 419 430 433
438 439 440 443 448 449 500 503 508 509
510 513 518 519 530 533 538 539 540 543
548 549 600 603 608 609 610 613 618 619
630 633 638 639 640 643 648 649 700 703
708 709 710 713 718 719 730 733 738 739
740 743 748 749 505 506 507 525 526 527 605 606 607 625
626 627 705 706 707 725 726 727 555 556 558 565 566 568 585 586 588 655
656 658 665 666 668 685 686 688 855 856
858 865 866 868 885 886 888 050 051 055 056 060 061 065 066 150 151
155 156 160 161 165 166 550 551 555 556
560 561 565 566 650 651 655 656 660 661
665 666 565 566 575 576 595 596 665 666 675 676
695 696 765 766 775 776 795 796 865 866
875 876 895 896 965 966 975 976 995 996
170 177 190 197 270 277 290 297 370 377
390 397 470 477 490 497 000 003 006 007 030 033 036 037 070 073
076 077 080 083 086 087 500 503 506 507
530 533 536 537 570 573 576 577 580 583
586 587 600 603 606 607 630 633 636 637
670 673 676 677 680 683 686 687 700 703
706 707 730 733 736 737 770 773 776 777
780 783 786 787
。。
注:相当于一条信息分成3部分,每部分有若干个数字,每个数字与另两部分中的每个数字组成一个3位数。
如:12、34、56 ,处理后应显示:135 136 145 146 235 236 245 246 。
1237/0468/1237
6475..0143..0938
567\02\567
856*856*685
0615---56---0156
78569 十769 个 56
3124+97+07
6705//0837//0367
。。
等几十条数据,要求:
1》编写程序,从out.txt中读取内容,经过处理后,显示效果(每行10组数据)如下:101 102 103 107 141 142 143 147 161 162
163 167 181 182 183 187 201 202 203 207
241 242 243 247 261 262 263 267 281 282
283 287 301 302 303 307 341 342 343 347
361 362 363 367 381 382 383 387 701 702
703 707 741 742 743 747 761 762 763 767
781 782 783 787 400 403 408 409 410 413 418 419 430 433
438 439 440 443 448 449 500 503 508 509
510 513 518 519 530 533 538 539 540 543
548 549 600 603 608 609 610 613 618 619
630 633 638 639 640 643 648 649 700 703
708 709 710 713 718 719 730 733 738 739
740 743 748 749 505 506 507 525 526 527 605 606 607 625
626 627 705 706 707 725 726 727 555 556 558 565 566 568 585 586 588 655
656 658 665 666 668 685 686 688 855 856
858 865 866 868 885 886 888 050 051 055 056 060 061 065 066 150 151
155 156 160 161 165 166 550 551 555 556
560 561 565 566 650 651 655 656 660 661
665 666 565 566 575 576 595 596 665 666 675 676
695 696 765 766 775 776 795 796 865 866
875 876 895 896 965 966 975 976 995 996
170 177 190 197 270 277 290 297 370 377
390 397 470 477 490 497 000 003 006 007 030 033 036 037 070 073
076 077 080 083 086 087 500 503 506 507
530 533 536 537 570 573 576 577 580 583
586 587 600 603 606 607 630 633 636 637
670 673 676 677 680 683 686 687 700 703
706 707 730 733 736 737 770 773 776 777
780 783 786 787
。。
注:相当于一条信息分成3部分,每部分有若干个数字,每个数字与另两部分中的每个数字组成一个3位数。
如:12、34、56 ,处理后应显示:135 136 145 146 235 236 245 246 。
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;//如果不使用集合,请仿照下面的写法
public class ProduceRandom {
static int counter = 10; public static void main(String[] args) {
resolveFile("c:/out.txt");
} public static void resolveFile(String fileName) {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(fileName));
String sourceString = null;
String regex = "(\\d+)\\s*(?:[/\\\\\\*+//]|---|[\\.]{2}|十|//)\\s*(\\d+)\\s*(?:[/\\\\\\*+//]|---|[\\.]{2}|个|//)\\s*(\\d+)";
Matcher matcher = null;
Pattern pattern = Pattern.compile(regex);
while ((sourceString = br.readLine()) != null) {
matcher = pattern.matcher(sourceString);
if (matcher.find()) {// 找到
char[] ch1 = matcher.group(1).toCharArray();
char[] ch2 = matcher.group(2).toCharArray();
char[] ch3 = matcher.group(3).toCharArray();
Arrays.sort(ch1); Arrays.sort(ch2); Arrays.sort(ch3);
for (int i = 0; i < ch1.length; i++)
for (int j = 0; j < ch2.length; j++)
for (int k = 0; k < ch3.length; k++) {
System.out.print("" + ch1[i] + ch2[j]
+ ch3[k] + " ");
if (++counter % 10 == 0)
System.out.println();
}
}
System.out.println("\n\n");
counter = 0;
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
if (br != null)
try {
br.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}