本帖最后由 凉宫蛋蛋 于 2012-7-22 03:59 编辑
- package Heima001_DumpAndDown100;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- public class Test001_DumpAndDown100 {
- public static void main(String[] args) throws IOException {
- System.out.println("请输入行数m,列数n,程序将打印一个m*n的矩形");
- System.out.println("如:3,4 回车,本次结束,输入end回车,则程序结束");
-
- System.out.println("若输入不规范,则自动重新输入");
- // 字符输入流
- BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
- // 字符输出流
- BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
- String line = null;
- String end = "end";
- // 输入任意整数
- String regex = "\\d+,\\d+";
- while ((line = bufr.readLine()) != null) {
- if (line.equals(end)) {
- break;
- } else if (!line.matches(regex)) {
- System.out.println("输入格式错误,请重新输入,如:3,4 或 end,回车");
- continue;
- } else {
- String [] str = line.split(",");
- int len = str.length;
- int [] array = new int[len];
- for(int i = 0; i < len; i++){
- array[i] = Integer.parseInt(str[i]);
- }
- int m = array[0];
- int n = array[1];
- System.out.println("你输入的m为: " + m + "你输入的n为:" + n);
- bufw.write(line);
- bufw.newLine();
- bufw.flush();
- for(int i=0;i<m;i++){
- for(int j=0;j<n;j++){
- System.out.print("*");
- }
- System.out.println();
- }
- System.out.println("可继续输入,结束输入end");
- }
- }
- bufw.close();
- bufr.close();
- }
- }
复制代码 自己写了一段很好用的在控制台的代码,功能齐全,方便使用
使用了IO流中的字符输入输出流,可以在控制台输入数据
并且使用了正则表达式校验输入结果,分离提取信息
用到了字符串、字符串数组、整型数组之间的转换
可以多次进行输入
自己还可以输入end结束程序
自己把代码读一下,我想会有收获的
|