java——控制台输入打印图形
来源:互联网 发布:淘宝卖图书好卖吗 编辑:程序博客网 时间:2024/06/06 04:17
1. 打印直角三角形
需求说明:从控制台输入直角三角形的高度(行数)。每行*的数目依次为1、3、5、7等。
实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件
分析每行打印的内容:每一行均打印*号,第i行的*号数为2*i-1,从而得到内层循环条件代码如下:
代码如下:
需求说明:从控制台输入直角三角形的高度(行数)。每行*的数目从下至上依次为1、2、3、4等。
实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件。分析每行打印的内容,每一行均打印*号,某一行与该行的*号数之和等于行数加1,从而得到内层循环条件。
例如:用户从控制台输入的行数用rows表示,第几行用i表示,*号数用x表示,那么第i行就是:i+x=rows+1-----à*号数x=rows+1-i
代码如下:
需求说明:从控制台输入直角三角形的高度(行数)。每行*的数目依次为1、3、5、7等。
实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件。
代码如下:
需求说明:从控制台输入菱形的高度(行数),如果用户输入的行数合法(奇数),则打印出菱形,否则提示用户输入奇数。
实现分析:假设每行输入的行数为rows,则每行的*号数依次为1、3、5、7、......、rows、......、7、5、3、1
需求说明:从控制台输入直角三角形的高度(行数)。每行*的数目依次为1、3、5、7等。
实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件
分析每行打印的内容:每一行均打印*号,第i行的*号数为2*i-1,从而得到内层循环条件代码如下:
代码如下:
<span style="font-size:24px;">import java.util.Scanner;publi cclass Three {public static void main(String[] args){ int rows = 0; Scanner input = new Scanner(System.in); System.out.println("请输入直角三角形的行数:"); rows=input.nextInt(); for(int i=0; i<=rows; i++){ for(int j=0; j<2*i-1; j++){ System.out.print("*"); } System.out.println(""); } }}</span>2. 打印倒直角三角形
需求说明:从控制台输入直角三角形的高度(行数)。每行*的数目从下至上依次为1、2、3、4等。
实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件。分析每行打印的内容,每一行均打印*号,某一行与该行的*号数之和等于行数加1,从而得到内层循环条件。
例如:用户从控制台输入的行数用rows表示,第几行用i表示,*号数用x表示,那么第i行就是:i+x=rows+1-----à*号数x=rows+1-i
代码如下:
<span style="font-size:24px;">import java.util.Scanner;public class Four { public static void main(String[] args){ int rows=0; Scanner input = new Scanner(System.in); System.out.println("请输入直角三角形的行数:"); rows=input.nextInt(); for(int i=1; i<=rows; i++){ for(int j=1; j<=rows+1-i; j++){ System.out.print("*"); } System.out.println(""); } }}</span>3. 打印等腰三角形
需求说明:从控制台输入直角三角形的高度(行数)。每行*的数目依次为1、3、5、7等。
实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件。
分析每行打印的内容:每一行先打印空格,再打印*号。打印空格和打印*号用两个不同的for循环。为了清晰起见,下面我们以#号代替空格
分析每行空格数、*号数和行数的关系:第i行的空格数与i之和等于用户从控制台输入的行数rows,第i行*号数为2*i-1,从而得到两个内层for循环的循环条件。
例如:用户从控制台输入的行数用rows表示,第几行用i表示,空格数数用space表示,那么第i行就是:i+space=rows--------à空格数space=rows-i代码如下:
<span style="font-size:24px;">import java.util.Scanner;public class Five { public static void main(String[] args) { int rows=0; Scanner input = new Scanner(System.in); System.out.println("请输入等腰三角形的行数:"); rows=input.nextInt(); for(int i=1; i<=rows; i++){ for(int j=1; j<=rows-i; j++){ System.out.print("#"); } for(int k=1; k<=2*i-1; k++){ System.out.print("*"); } System.out.println(""); } }}</span>4. 打印菱形
需求说明:从控制台输入菱形的高度(行数),如果用户输入的行数合法(奇数),则打印出菱形,否则提示用户输入奇数。
实现分析:假设每行输入的行数为rows,则每行的*号数依次为1、3、5、7、......、rows、......、7、5、3、1
实现思路:
(1)利用while循环判断用户输入的是否为奇数。
<span style="font-size:24px;"> int rows=0; Scanner input = new Scanner(System.in); System.out.println("请输入菱形行数:"); rows=input.nextInt(); while(rows%2==0){ System.out.println("请输入奇数:"); rows=input.nextInt(); }</span>(2) 分步打印,先打印菱形的上半部分,即一个等腰三角形,行数为(rows+1)/2,可以得到外层循环和两个内层循环的循环条件。
<span style="font-size:24px;"> int n=(rows+1)/2; for(int i=1;i<=n;i++){ for(int j=1; j<=n-i; j++){ System.out.print(" "); } for(int k=1; k<=2*i-1; k++){ System.out.print("*"); } System.out.print("\n"); }</span>(3)打印菱形的下半部分,打印完一行后换行
<span style="font-size:24px;"> for(int i=n-1; i>=1; i--){ for(int j=0; j<n-i; j++){ System.out.print(" "); } for(int k=0; k<2*i-1; k++){ System.out.print("*"); } System.out.print("\n"); }</span>完整代码如下:
<span style="font-size:24px;">import java.util.Scanner; public class Six { public static void main(String[] args) { int rows=0; Scanner input = new Scanner(System.in); System.out.println("请输入菱形行数:"); rows=input.nextInt(); while(rows%2==0){ System.out.println("请输入奇数:"); rows=input.nextInt(); } int n=(rows+1)/2; for(int i=1;i<=n;i++){ for(int j=1; j<=n-i; j++){ System.out.print(" "); } for(int k=1; k<=2*i-1; k++){ System.out.print("*"); } System.out.print("\n"); } for(int i=n-1; i>=1; i--){ for(int j=0; j<n-i; j++){ System.out.print(" "); } for(int k=0; k<2*i-1; k++){ System.out.print("*"); } System.out.print("\n"); } }}</span>
0 0
- java——控制台输入打印图形
- java 打印从控制台输入的整数
- 控制台输入打印
- Java中的Scanner—控制台输入
- java基础程序—图形打印
- java控制台输入cmd命令, ssh远程linux shell命令, 并打印命令输出到控制台
- 日历系统——控制台输入年份和月份,打印该月的日历
- 输入*号打印出图形
- Java控制台打印九九乘法表
- JAVA 控制台打印三角形
- java控制台打印日历
- java 控制台打印圆形
- Java编程那些事儿89——读取控制台输入
- Java编程那些事儿89——读取控制台输入
- java——编程小技巧(一)控制台输入
- JAVA【循环】 打印图形——倒等腰三角形 ▼
- Java控制台输入,输出!
- Java 控制台输入
- 自己实现strcpy函数
- MyEclipse修改自动生成注释模版
- POJ 3134 Power Calculus (IDA*)
- 存:保存结果的内容到一个新【号】里 20140728 ⑧平台控制
- 关于oracle with as用法
- java——控制台输入打印图形
- hdu 4607
- C#:读取数据DataReader
- Linux 知识拾遗 (1) 常用命令
- tar使用记录
- JavaBean(章节摘要)
- 指针编程题
- 浅析背包系统
- C++ primer(第五版) 练习 4.31 个人code 和 疑惑