Java练手:利用循环绘制等腰三角形
2017-10-28 20:43
1436 查看
package argsAndFlow; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class IsoscelesTri { /* *autor @乔一桥 *目标:输出一个由“*”组成的等腰三角形 *全局变量:intTriLine *局部变量:intLine、intRows,intCount、intBegin,intEnd *常量:REGEX *方法:1、输入方法 String input() 2、绘图方法 void triDraw(int intTriLine) 3、正则式判断 booblean judge(String a) */ private static int intTriLine; private static String REGEX="\\d"; //输入方法,用户输入生成的等腰三角形的行数 public String input() { Scanner scanner=new Scanner(System.in); String intGetInput=scanner.nextLine(); return intGetInput; } //绘制三角形 public void triDraw(int intTriLine) { String strTransit=this.input(); if(this.Judge(strTransit)){ intTriLine=Integer.parseInt(strTransit); int intCount=intTriLine*2-1; if(intTriLine!=0){ for(int intLine=1;intLine<=intTriLine;intLine++) { //Java中"/"是向下取整的,所以+1,可以使用math.round()方法代替 int intBegin=(intCount+1)/2-intLine+1; int intEnd=(intCount+1)/2+intLine-1; for(int intRows=1;intRows<=intCount;intRows++) { if(intRows>=intBegin && intRows<=intEnd) {System.out.print("*");} else{System.out.print(" ");} } System.out.println(); } }else{System.out.print("系统不能绘制0行三角,请重新输入:");this.triDraw(intTriLine);} }else{System.out.print("输入无效,请重新输入:");this.triDraw(intTriLine);} } //判断输入的是否为数字 public boolean Judge(String a) { Pattern p=Pattern.compile(REGEX); Matcher m=p.matcher(a); return m.matches(); } public static void main(String[] args) { // TODO Auto-generated method stub IsoscelesTri tri=new IsoscelesTri(); System.out.print("请输入绘制的行数:"); tri.triDraw(intTriLine); } }
输出结果
请输入绘制的行数:a 输入无效,请重新输入:0 系统不能绘制0行三角,请重新输入:5 * *** ***** ******* *********
相关文章推荐
- 利用java循环输出等腰三角形
- spingmvc的外置properties文件读取(java循环利用properties内容)
- java for循环打印等腰三角形
- Java利用for循环输出空心菱形的实例代码
- JAVA 基本绘图——利用JFrame JPanel 绘制扇形
- java利用循环打印空心菱形
- 二叉树的循环遍历方法,Java实现。利用栈和arraylist
- Java利用while循环计算1+1/2!+1/3!……+1/20!
- 利用数学里的一个漏洞(1=0.9(9循环))来验证JAVA的编译优化
- JAVA循环输出等腰三角形
- JAVA 学习日志 利用循环打印简单的菱形程序
- Java中利用循环语句输出倒正三角形、菱形
- 20170728 JAVA利用循环和选择语句解决ATM问题
- 【程序29】 TestAdd3.java 题目:求一个3*3矩阵对角线元素之和 1.程序分析:利用双重for循环控制输入二维数组, //再将a[i][i]累加后输出。
- java中利用if_else if循环求税率
- java 利用AudioPlayer循环播放音乐
- 利用数学里的一个漏洞(1=0.9(9循环))来验证JAVA的编译优化
- java-第九章-循环结构进阶-输入行数,打印等腰三角形
- java 获取后台返回json 并js循环利用
- 利用java中的双层循环求素数