java控制台打印图片_java——控制台输入打印图形
1. 打印直角三角形
需求說(shuō)明:從控制臺(tái)輸入直角三角形的高度(行數(shù))。每行*的數(shù)目依次為1、3、5、7等
。
實(shí)現(xiàn)思路:外層循環(huán)控制行數(shù),根據(jù)用戶輸入的行數(shù)得到外層循環(huán)條件
分析每行打印的內(nèi)容:
每一行均打印*號(hào),第i行的*號(hào)數(shù)為2*i-1,從而得到內(nèi)層循環(huán)條件代碼如下:
代碼如下:
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("請(qǐng)輸入直角三角形的行數(shù):");
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("");
}
}
}
2. 打印倒直角三角形
需求說(shuō)明:從控制臺(tái)輸入直角三角形的高度(行數(shù))。每行*的數(shù)目從下至上依次為1、2、3、4等。
實(shí)現(xiàn)思路:外層循環(huán)控制行數(shù),根據(jù)用戶輸入的行數(shù)得到外層循環(huán)條件。分析每行打印的內(nèi)容,每一行均打印*號(hào),某一行與該行的*號(hào)數(shù)之和等于行數(shù)加1,從而得到內(nèi)層循環(huán)條件。
例如:用戶從控制臺(tái)輸入的行數(shù)用rows表示,第幾行用i表示,*號(hào)數(shù)用x表示,那么第i行就是:i+x=rows+1-----à*號(hào)數(shù)x=rows+1-i
代碼如下:
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("請(qǐng)輸入直角三角形的行數(shù):");
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("");
}
}
}
3. 打印等腰三角形
需求說(shuō)明:從控制臺(tái)輸入直角三角形的高度(行數(shù))。每行*的數(shù)目依次為1、3、5、7等。
實(shí)現(xiàn)思路:外層循環(huán)控制行數(shù),根據(jù)用戶輸入的行數(shù)得到外層循環(huán)條件。
分析每行打印的內(nèi)容:每一行先打印空格,再打印*號(hào)。打印空格和打印*號(hào)用兩個(gè)不同的for循環(huán)。為了清晰起見(jiàn),下面我們以#號(hào)代替空格
分析每行空格數(shù)、*號(hào)數(shù)和行數(shù)的關(guān)系:第i行的空格數(shù)與i之和等于用戶從控制臺(tái)輸入的行數(shù)rows,第i行*號(hào)數(shù)為2*i-1,從而得到兩個(gè)內(nèi)層for循環(huán)的循環(huán)條件。
例如:
用戶從控制臺(tái)輸入的行數(shù)用rows表示,第幾行用i表示,空格數(shù)數(shù)用space表示,那么第i行就是:i+space=rows--------à空格數(shù)space=rows-i
代碼如下:
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("請(qǐng)輸入等腰三角形的行數(shù):");
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("");
}
}
}
4. 打印菱形
需求說(shuō)明:從控制臺(tái)輸入菱形的高度(行數(shù)),如果用戶輸入的行數(shù)合法(奇數(shù)),則打印出菱形,否則提示用戶輸入奇數(shù)。
實(shí)現(xiàn)分析:假設(shè)每行輸入的行數(shù)為rows,則每行的*號(hào)數(shù)依次為1、3、5、7、......、rows、......、7、5、3、1
實(shí)現(xiàn)思路:
(1)利用while循環(huán)判斷用戶輸入的是否為奇數(shù)。
int rows=0;
Scanner input = new Scanner(System.in);
System.out.println("請(qǐng)輸入菱形行數(shù):");
rows=input.nextInt();
while(rows%2==0){
System.out.println("請(qǐng)輸入奇數(shù):");
rows=input.nextInt();
}
(2) 分步打印,先打印菱形的上半部分,即一個(gè)等腰三角形,行數(shù)為(rows+1)/2,可以
得到外層循環(huán)和兩個(gè)內(nèi)層循環(huán)的循環(huán)條件。
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");
}
(3)打印菱形的下半部分,打印完一行后換行
for(int i=n-1; i>=1; i--){
for(int j=0; j
System.out.print(" ");
}
for(int k=0; k<2*i-1; k++){
System.out.print("*");
}
System.out.print("\n");
}
完整代碼如下:
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("請(qǐng)輸入菱形行數(shù):");
rows=input.nextInt();
while(rows%2==0){
System.out.println("請(qǐng)輸入奇數(shù):");
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
System.out.print(" ");
}
for(int k=0; k<2*i-1; k++){
System.out.print("*");
}
System.out.print("\n");
}
}
}
總結(jié)
以上是生活随笔為你收集整理的java控制台打印图片_java——控制台输入打印图形的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 湖南省普通招生2021高考成绩查询,湖南
- 下一篇: matlab7.0 6.5,任何处理ma