文件out.txt中,有如下内容:239、567、345
540/137/879
247//839//693
658/369/147
247//十:389//个:369
4679---4679---4679
3469*0479*3689
345679 、 013568 、 52980371
。。多条数据
要求:
编写程序,从out.txt中读取内容,经过处理后,显示
效果(每行10组数据)如下:
235 236 237 245 246 247 255 256 257 335
336 337 345 346 347 355 356 357 359 369
379 459 469 479 559 569 579017 018 019 037 038 039 077 078 079 147
148 149 157 158 159 347 348 349 357 358
359 477 478 479 577 578 579233 236 238 239 268 269 289 299 334 337
346 348 349 367 378 379 468 469 489 499
678 679 789 799135 136 138 156 159 166 168 169 189 345
346 348 357 367 378 456 459 466 468 469
489 567 579 667 678 679 789233 236 238 239 268 269 289 299 334 337
346 348 349 367 378 379 468 469 489 499
678 679 789 799444 446 447 449 466 467 469 477 479 499
666 667 669 677 679 699 777 779 799 999033 034 036 038 039 046 048 049 066 068
069 089 099 334 337 339 344 346 347 348
349 367 369 378 379 389 399 446 448 449
466 467 468 469 478 479 489 499 667 669
678 679 689 699 789 799 899 999003 004 005 006 007 009 013 014 015 016
017 019 023 024 025 026 027 029 033 034
035 036 037 038 039 045 046 047 048 049
055 056 057 058 059 066 067 068 069 077
078 079 089 099 113 114 115 116 117 119
123 124 125 126 127 129 133 134 135 136
137 138 139 145 146 147 148 149 155 156
157 158 159 166 167 168 169 177 178 179
189 199 233 234 235 236 237 238 239 245
246 248 255 256 257 258 259 266 267 268
269 278 289 333 334 335 336 337 338 339
345 346 347 348 349 355 356 357 358 359
366 367 368 369 377 378 379 388 389 399
455 456 457 458 459 467 468 469 478 488
489 555 556 557 558 559 566 567 568 569
577 578 579 588 589 599 667 668 669 677
678 679 688 689 699 778 788 789 889 899
注:相当于每条数据的数字:组号后3个数字相同,把相同的条数去掉。
如:123、234、345这条数据 显示:123 124 125 133 134 135 143 144 145 223
224 225 233 234 235 243 244 245 323 324
325 333 334 335 343 344 345
经过处理后,显示:123 124 125 133 134 135 144 145 223 224
225 233 234 235 244 245 333 334 335 344
345除去了下面六组数字:
143 243 323 324 325 343 要注意每条数据分割符处理。
540/137/879
247//839//693
658/369/147
247//十:389//个:369
4679---4679---4679
3469*0479*3689
345679 、 013568 、 52980371
。。多条数据
要求:
编写程序,从out.txt中读取内容,经过处理后,显示
效果(每行10组数据)如下:
235 236 237 245 246 247 255 256 257 335
336 337 345 346 347 355 356 357 359 369
379 459 469 479 559 569 579017 018 019 037 038 039 077 078 079 147
148 149 157 158 159 347 348 349 357 358
359 477 478 479 577 578 579233 236 238 239 268 269 289 299 334 337
346 348 349 367 378 379 468 469 489 499
678 679 789 799135 136 138 156 159 166 168 169 189 345
346 348 357 367 378 456 459 466 468 469
489 567 579 667 678 679 789233 236 238 239 268 269 289 299 334 337
346 348 349 367 378 379 468 469 489 499
678 679 789 799444 446 447 449 466 467 469 477 479 499
666 667 669 677 679 699 777 779 799 999033 034 036 038 039 046 048 049 066 068
069 089 099 334 337 339 344 346 347 348
349 367 369 378 379 389 399 446 448 449
466 467 468 469 478 479 489 499 667 669
678 679 689 699 789 799 899 999003 004 005 006 007 009 013 014 015 016
017 019 023 024 025 026 027 029 033 034
035 036 037 038 039 045 046 047 048 049
055 056 057 058 059 066 067 068 069 077
078 079 089 099 113 114 115 116 117 119
123 124 125 126 127 129 133 134 135 136
137 138 139 145 146 147 148 149 155 156
157 158 159 166 167 168 169 177 178 179
189 199 233 234 235 236 237 238 239 245
246 248 255 256 257 258 259 266 267 268
269 278 289 333 334 335 336 337 338 339
345 346 347 348 349 355 356 357 358 359
366 367 368 369 377 378 379 388 389 399
455 456 457 458 459 467 468 469 478 488
489 555 556 557 558 559 566 567 568 569
577 578 579 588 589 599 667 668 669 677
678 679 688 689 699 778 788 789 889 899
注:相当于每条数据的数字:组号后3个数字相同,把相同的条数去掉。
如:123、234、345这条数据 显示:123 124 125 133 134 135 143 144 145 223
224 225 233 234 235 243 244 245 323 324
325 333 334 335 343 344 345
经过处理后,显示:123 124 125 133 134 135 144 145 223 224
225 233 234 235 244 245 333 334 335 344
345除去了下面六组数字:
143 243 323 324 325 343 要注意每条数据分割符处理。
解决方案 »
- JFrame编译出乱码?高人指教下
- Struts2 怎么进行分步提交?
- 请问DispatchAction这个类有什么用,都有什么方法?
- java.library.path VS java.class.path
- 做了一个聊天工具,两台机子发送文件,第一次可以发送,但建立了连接以后却不能得到有效的释放,
- 请教SWING中处理键盘事件的细节
- JTextFiled中内容不可修改怎么做啊
- 我的大脑中有两只蟑螂在打架——救命啊!!!!!!!!!!
- 总结:jTable与数据关联的方法,大家多总结一些这样的方法
- java可以对一张图整体颜色加深?有没有大神知道呢?
- 求助啊~考试不会。
- java的jtree点击节点,如何将子节点全部输出来
540/137/879
247//839//693
658/369/147
247//十:389//个:369
4679---4679---4679
3469*0479*3689
345679 、 013568 、 52980371
。。多条数据
要求:
编写程序,从out.txt中读取内容,经过处理后,显示
效果(每行10组数据)如下:
235 236 237 245 246 247 255 256 257 335
336 337 345 346 347 355 356 357 359 369
379 459 469 479 559 569 579017 018 019 037 038 039 077 078 079 147
148 149 157 158 159 347 348 349 357 358
359 477 478 479 577 578 579233 236 238 239 268 269 289 299 334 337
346 348 349 367 378 379 468 469 489 499
678 679 789 799135 136 138 156 159 166 168 169 189 345
346 348 357 367 378 456 459 466 468 469
489 567 579 667 678 679 789233 236 238 239 268 269 289 299 334 337
346 348 349 367 378 379 468 469 489 499
678 679 789 799444 446 447 449 466 467 469 477 479 499
666 667 669 677 679 699 777 779 799 999033 034 036 038 039 046 048 049 066 068
069 089 099 334 337 339 344 346 347 348
349 367 369 378 379 389 399 446 448 449
466 467 468 469 478 479 489 499 667 669
678 679 689 699 789 799 899 999003 004 005 006 007 009 013 014 015 016
017 019 023 024 025 026 027 029 033 034
035 036 037 038 039 045 046 047 048 049
055 056 057 058 059 066 067 068 069 077
078 079 089 099 113 114 115 116 117 119
123 124 125 126 127 129 133 134 135 136
137 138 139 145 146 147 148 149 155 156
157 158 159 166 167 168 169 177 178 179
189 199 233 234 235 236 237 238 239 245
246 248 255 256 257 258 259 266 267 268
269 278 289 333 334 335 336 337 338 339
345 346 347 348 349 355 356 357 358 359
366 367 368 369 377 378 379 388 389 399
455 456 457 458 459 467 468 469 478 488
489 555 556 557 558 559 566 567 568 569
577 578 579 588 589 599 667 668 669 677
678 679 688 689 699 778 788 789 889 899
注:相当于每条数据的数字:组号后3个数字相同,把相同的条数去掉。
如:123、234、345这条数据 显示:123 124 125 133 134 135 143 144 145 223
224 225 233 234 235 243 244 245 323 324
325 333 334 335 343 344 345
经过处理后,显示:123 124 125 133 134 135 144 145 223 224
225 233 234 235 244 245 333 334 335 344
345除去了下面六组数字:
143 243 323 324 325 343 要注意每条数据分割符处理。
1.从文件中读内容,并取出数据放入变量
2. 从我的思路来说,因为你读入的是不同分隔的数据,所以建议用正则表达式
3. 读入的数据可直接放入Map,因为它可过滤掉重复数据
4.遍列Map输出,分行输出应该是简单了吧
以上只是我的思路,希望对你有帮助
从文件读出所有行,存入表的一个列.
将所有可能出现的非数字字符,用replace转换为逗号,再说循环更新的方法,将所有连着的逗号都变为一个逗号.
再用分割字符串的语句将字符串分为一系列数字.
根据你的输出要求,用所得的数字列输出.
package myio;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class ResolveFile {
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*(?:[^\\d]+)\\s*(\\d+)\\s*(?:[^\\d]+)\\s*(\\d+)";
Matcher matcher = null;
Pattern pattern = Pattern.compile(regex);
while ((sourceString = br.readLine()) != null) {
matcher = pattern.matcher(sourceString);
if (matcher.find()) {// 找到
char[][] a = { matcher.group(1).toCharArray(),
matcher.group(2).toCharArray(),
matcher.group(3).toCharArray() };
test(a);//按规则操作解释出来的二维字符数组
}
}
} catch (IOException e) {
} finally {
if (br != null)
try {
br.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
static void test(char[][] a) {
Set<String> set = new TreeSet<String>();
int counter = 0;
permute(a, 0, a.length - 1,set);//填充set
for (Iterator<String> iterator = set.iterator(); iterator.hasNext();) {//输出set
System.out.print(iterator.next() + " ");
if (++counter % 10 == 0)
System.out.println(); }
}
static void permute(char[][] a, int start, int end,Set<String> set) {
if (start == end) {
for (int i = 0; i < a[0].length; i++)
for (int j = 0; j < a[1].length; j++)
if (a[0][i] <= a[1][j])
for (int k = 0; k < a[2].length; k++)
if (a[1][j] <= a[2][k])
set.add(a[0][i] + "" + a[1][j] + "" + a[2][k]);
System.out.println();
} else {
for (int i = start; i <= end; i++) {
swap(a, start, i);
permute(a, start + 1, end,set);
swap(a, start, i);
}
}
}
static void swap(char[][] a, int i, int j) {
char[] tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
/*
235 236 237 245 246 247 255 256 257 335
336 337 345 346 347 355 356 357 359 369
379 459 469 479 559 569 579 017 018 019 037 038 039 077 078 079 147
148 149 157 158 159 347 348 349 357 358
359 477 478 479 577 578 579 233 236 238 239 268 269 289 299 334 337
346 348 349 367 378 379 468 469 489 499
678 679 789 799 135 136 138 156 159 166 168 169 189 345
346 348 357 367 378 456 459 466 468 469
489 567 579 667 678 679 789 233 236 238 239 268 269 289 299 334 337
346 348 349 367 378 379 468 469 489 499
678 679 789 799 444 446 447 449 466 467 469 477 479 499
666 667 669 677 679 699 777 779 799 999
033 034 036 038 039 046 048 049 066 068
069 089 099 334 337 339 344 346 347 348
349 367 369 378 379 389 399 446 448 449
466 467 468 469 478 479 489 499 667 669
678 679 689 699 789 799 899 999 003 004 005 006 007 009 013 014 015 016
017 019 023 024 025 026 027 029 033 034
035 036 037 038 039 045 046 047 048 049
055 056 057 058 059 066 067 068 069 077
078 079 089 099 113 114 115 116 117 119
123 124 125 126 127 129 133 134 135 136
137 138 139 145 146 147 148 149 155 156
157 158 159 166 167 168 169 177 178 179
189 199 233 234 235 236 237 238 239 245
246 248 255 256 257 258 259 266 267 268
269 278 289 333 334 335 336 337 338 339
345 346 347 348 349 355 356 357 358 359
366 367 368 369 377 378 379 388 389 399
455 456 457 458 459 467 468 469 478 488
489 555 556 557 558 559 566 567 568 569
577 578 579 588 589 599 667 668 669 677
678 679 688 689 699 778 788 789 889 899
*/