java打印菱形图案
- 格式:docx
- 大小:23.79 KB
- 文档页数:2
for语句输出菱形1. 用for语句怎么输出菱形#include "stdio.h"int main(){int i,j,k;for(i=0;i{for(j=0;jprintf(" ");for(k=0;kprintf("*");printf("\n");}for(i=0;i{for(j=0;jprintf(" ");for(k=0;kprintf("*");printf("\n");}return 0;}2. 用c语言编写输出以下图案,用for语句输出菱形图案用*//菱形图for语句#include void fun(int n){ int i=0, j=0, m=0; for (i=1; i<=n; ++i) { for (j=0; j3. 用c语言for语句输出用“*”号组成的菱形谢谢了我是初学者#include#define n 3int main(){ int i,j; for(i=0;i<=n;i++) { for(j=1;j<=n-i;j++) printf(" "); for(j=1;j<=2*i+1;j++) printf("*"); printf("\n"); } for(i=n-1;i>=0;i--) { for(j=1;j<=n-i;j++) printf(" "); for(j=1;j<=2*i+1;j++) printf("*"); printf("\n"); }}。
4. 用c语言中的for循环输出菱形#include int main(){int A=3;scanf("%d",&A);int i,j,x,a,b,c,d,e,f,g;for(i=1;i<=A+1;i++){for(x=A;x>=i;x--){printf("");}for(a=1;a<=i;a++){printf("*");}for(b=0;b<=i-2;b++){printf("*");}for(c=A;c>=i;c--){printf("");}printf("\n");}for(j=1;j<=A;j++){for(d=1;d<=j;d++){printf(" ");}for(e=A;e>=j;e--){printf("*");}for(f=A-1;f>=j;f--){printf("*");}for(g=0;g<=j-1;g++){printf(" ");}printf("\n");}return 0;}要打出图片题目中所示菱形,只需run下程序62616964757a686964616fe4b893e5b19e31333363393036,输入3即可(即input A=3)。
for循环打印等腰三⾓形、直⾓三⾓形、菱形⼀、等腰三⾓形1 package s1;23 import java.util.Scanner;45public class C31 {67public static void main(String[] args) {89/**10 * @author fklin11 *12 *13 *14 * *15 * ***16 * *****17 * *******18 * *********19*/2021 Scanner sc = new Scanner(System.in);22 System.out.println("请输⼊您要打印的等腰三⾓形边数(只能为整数)");23int n = sc.nextInt();242526for(int x=1;x<=n;x++){ // 先确定⾏数27for(int z=n-x;z>=0;z--){28 System.out.print(""); //每⾏的空⽩数量29 }3031for(int y =1;y<=(2*x-1);y++){ //每⾏的星星个数32 System.out.print("*");33 }34 System.out.println();35 }3637 sc.close();3839 }⼆、直⾓三⾓形1 package s1;23 import java.util.Scanner;45public class C31 {67public static void main(String[] args) {89/**10 * @author fklin11 *12 * *13 * ***14 * *****15 * *******16 * *********17 *18*/1920 Scanner sc = new Scanner(System.in);21 System.out.println("请输⼊您要打印的直⾓三⾓形的⾏数(只能为整数)");22int n = sc.nextInt();232425for(int x=1;x<=n;x++){ // 先确定⾏数26for(int y =1;y<=(2*x-1);y++){ //每⾏的星星个数27 System.out.print("*");28 }29 System.out.println();30 }3132 sc.close();3334 }3536 }三、菱形package s1;import java.util.Scanner;public class C31 {public static void main(String[] args) {/*** @author fklin*** ** **** ****** ******** ********** ************ ********** ******** ****** **** **/Scanner sc = new Scanner(System.in);System.out.println("请输⼊您要打印的菱形的⾼度(只能为整数)");int n = sc.nextInt();//⾸先把菱形看成上下,上n⾏下n-1⾏,//先打印出上⾯的等腰三⾓形for(int i=1;i<=n;i++){//将空格和*分开看,看" "的变化i=1时,他是4 ,2的时候是3找规律for(int j=1;j<=n-i;j++)System.out.print("");for(int k=1;k<=2*i-1;k++)//找规律,i是 1 3 5 7 基数嘛System.out.print('*');//换⼀⾏System.out.println();}//打印下半部分for(int i=1;i<=n;i++){for(int j=1;j<=i;j++)//空格 1 2 3 4 soSystem.out.print("");for(int k=2*n;k>2*i+1;k--)//* 7 5 3 1倒着来的基数System.out.print('*');System.out.println();}sc.close();}}AnyConnect使⽤说明(电脑版Windows):。
Java 输入图形在前面的章节中,我们已经学习如何编写Java 代码,以及如何编译这些文件。
下面我们再来通过Java 程序输出一个图形效果,如有多个星号(*)组的一个菱形。
操作步骤:(1)打开记事本,并在记事本中输入主程序体,如图1-1所示。
例如,通过“public class Tuo ”命令定义Tuo 类,再输入一对大括号(“{ }”)。
(2)在Tuo 类中,定义主类,如“public static void main(String[] ages)”,并输入一对大括号(“{ }”),如图1-2所示。
Main 是程序的主类,也是程序执行的入口。
如果没有该类,程序将无法执行。
图1-1 定义类 图1-2 定义主类(3)在输出菱形图形时,我们使用最普通的方法,直接通过输出语句输出字符串。
例如,在程序中输入“System.out.print(" * "+"\n");”语句,来输出包含多个空格和星号的字符串,然后换行(“\n ”为换行标识符),如图1-3所示。
图1-3 输入空格和星号(4)再通过System.out.print( ),输出组成菱形图形的语句,如图1-4所示。
然后,执行【文件】|【保存】命令,并保存为.java 文件。
在输入语句中,其字符串中的空格,需要用户自己通过手工控制。
尤其是星号(*)的前面空格,他决定了星号显示的位置,用户可以通过键盘上的【space 】键来控制空格输出的数量。
(5)打开【命令提示符】窗口,并通过cd命令,进入.java文件保存的位置。
然后,输入“javac Tuo.java”命令,并按【回车】键,如图1-5所示。
(6)对Tuo.java文件编译之后,则再输入“java Tuo”命令,并按【回车】键,如图1-6所示。
图1-5 编译.java文件图1-6 解释class文件(7)通过解释之后,即可显示出Tuo.java文件内容,如图1-7所示。
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>exercise01.html</title><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="this is my page"><meta http-equiv="content-type" content="text/html; charset=GB18030"><!--<link rel="stylesheet" type="text/css" href="./styles.css">--><script type="text/javascript">var num = prompt("请输入一个整数");for(var i=1;i<=num;i++){for(var j=0;j<num-i;j++){document.write("   ");}for(var k=0;k<2*i-1;k++){document.write("  *");}document.write("</br>");}for(var i=1;i<=num-1;i++){for(var j=0;j<i;j++){document.write("   ");}for(var k=1;k<=2*num-1-2*i;k++){document.write("  *");}document.write("</br>");}</script></head><body>XueWenJun <br> </body></html>。
⽤java打印各种图形public static void showEquilateral(int row) { // 输出等腰三⾓形图形for (int i = 1; i < row; i++) { // 外层循环控制输出的⾏数for (int j = 1; j <= row - i; j++) { // j表⽰输出的空格数,其空格数=总⾏数-1System.out.print(" ");}for (int x = 1; x <= i * 2 - 1; x++) { // x表⽰输出的字符"*",其个数=当前⾏数*2-1System.out.print("*");}System.out.println(); // 每输出⼀⾏就换⾏⼀次}}public static void showRhombus(int row) { // 输出菱形图形if (row >= 1) { // 判断传⼊的⾏数int x, y;for (x = 1; x <= row; x++) { // 先输出上半部分的正三⾓形for (y = 1; y <= row - x; y++) // 控制左边输出的空格数System.out.print(" ");for (y = 1; y <= 2 * x - 1; y++) // 控制输出的"#"数System.out.print("#");System.out.println(); // 每输出⼀⾏就换⾏⼀次}for (x = 1; x <= row; x++) { // 输出下半部分的正三⾓形for (y = 1; y <= x; y++) // 控制左边输出的空格数,与上半部分正好相反System.out.print(" ");for (y = 1; y <= 2 * (row - x) - 1; y++) // 控制输出的"#"数System.out.print("#");System.out.println(); // 每输出⼀⾏就换⾏⼀次}} else {System.out.println("您输⼊的⾏数错误,请重新输⼊!!!");}}public static void showLettersTriangle(int row) { // 输出由⼩写字母排列的直⾓三⾓形for (int i = 1; i <= row; i++) { // 外层循环row次,输出row⾏for (int x = 1; x < i; x++) // 字母由⼩到⼤排列输出System.out.print((char) (x + 96)); // x + 96是将数字转换成⼩写字母for (int y = i; y != 0; y--) // 字母由⼤到⼩排列输出System.out.print((char) (y + 96));System.out.println(); // 每输出⼀⾏就换⾏⼀次}}public static void main(String[] args) {System.out.println("(1) 输出等腰三⾓形图案");showEquilateral(10); // 输出⾏数为7的等腰三⾓形图案System.out.println("(2) 输出菱形图案");showRhombus(5); // 输出⾏数为5的菱形图案System.out.println("(3) 输出字母排列的直⾓三⾓形图案");showLettersTriangle(5); // 输出⾏数为5的字母排列的直⾓三⾓形图案}。
java打印出菱形图案实例详解第⼀步:⾸先对图像进⾏解析想要打印该图形必须要进⾏多层循环嵌套,分两个部分进⾏打印。
第⼀部分为上半部分前四⾏,他们是递增的关系,后半部分后三⾏为递减关系,由此可以得出我们需要写两个打的循环。
并且由于“*”位置的关系,我们必须带⼊空格同时打印。
所以每个部分需要两个循环控制,即两个⼤循环每个⾥⾯嵌套两个⼩循环总计四个循环。
第⼆部:对数字进⾏分析在分析之前,我们必须明⽩外层循环控制⾏数,内层循环控制列数,因此我们需要分析他的⾏和列。
⽰例代码如下:class ForForTest {public static void main(String[] args) {/*输出如下图形:⾏数i: 空格数j: “*”数⽬z:* 1 3 1*** 2 2 3***** 3 1 5******* 4 0 7***** 1 1 5 6*** 2 2 3 5* 3 3 1 4*/for (int i = 1;i <= 4;i++){for (int j = 1;j <= 4 - i;j++) {System.out.print(" ");}for (int z = 1;z <= i*2-1;z++){System.out.print("*");}System.out.println();}for (int i = 1;i <= 3;i++){for (int j = 1;j <= i;j++){System.out.print(" ");}int y = 3;for (int z = 5;z >= 2*i-1;z--){System.out.print("*");}System.out.println();}}}实例补充:import java.util.Scanner;import java.util.regex.Matcher;public class test01 {private static int i;private String ch;public static void main(String[] args) {runTest();}private void printBlank(int blank){//打空格for(int i=blank;i>=1;i--){System.out.print(" ");}}private void printStar( int sum,String ch){ //打图形for(int i=sum;i>=1;i--){System.out.print(ch);}}private void printTab(){ //打回车System.out.println();}private void run(int level,String ch){//综合打if(ch.length()==1){for(i=1;i<=(level+1)/2;i++){if(i==1){printBlank((level+1)/2-i);printStar(1,ch);printTab();}else{printBlank((level+1)/2-i);printStar(1,ch);printBlank(((level+1)/2+i-1)-((level+1)/2-i)-2); //总元素为层数+i-1,再减去打印的空格和*号数量. printStar(1,ch);printTab();}} for(i=(level+1)/2-1;i>=1;i--){if(i==1){printBlank((level+1)/2-i);printStar(1,ch);printTab();}else{printBlank((level+1)/2-i);printStar(1,ch);printBlank((level+1)/2+i-1-((level+1)/2-i)-2);printStar(1,ch);printTab();}}}else{for(i=1;i<=(level+1)/2;i++){if(i==1){printBlank((level+1)/2-i+ch.length()/2);printStar(1,ch);printTab();}else{printBlank((level+1)/2-i);printStar(1,ch);printBlank(((level+1)/2+i-1)-((level+1)/2-i)-2); //总元素为层数+i-1,再减去打印的空格和*号数量. printStar(1,ch);printTab();}} for(i=(level+1)/2-1;i>=1;i--){if(i==1){printBlank((level+1)/2-i+ch.length()/2);printStar(1,ch);printTab();}else{printBlank((level+1)/2-i);printStar(1,ch);printBlank((level+1)/2+i-1-((level+1)/2-i)-2);printStar(1,ch);printTab();}}}}public static void runTest() { //判断条件Scanner s = new Scanner(System.in);try{System.out.println("请输⼊要打印的层数,只能输⼊⼤于等于3的奇数 :" );int level = s.nextInt();String str = String.valueOf(level);if(str.matches("[1-9]\\d*")&&Integer.parseInt(str)%2!=0&&Integer.parseInt(str)!=1){System.out.println("请输⼊要打印的形状:" );String ch = s.next();try{if(ch.matches("[^\u4e00-\u9fa5]+" )){new test01().run(level, ch);}else {throw new Exception();}}catch (Exception e) {System.out.println("输⼊有误不能包含汉字字符,请重新输⼊");System.out.println("***********************************");runTest(); //递归}}else if(str.matches("[-9-0]+")){ //throw new Exception();}}catch (Exception e) {System.out.println(" 输⼊有误只能输⼊⼤于等于3的奇数,请重新输⼊");System.out.println("***********************************");runTest(); //递归}}}以上就是java打印出菱形图案实例详解的详细内容,更多关于java打印菱形图案的资料请关注其它相关⽂章!。
Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。
(p13,例1-1)编写一个Java程序,用if-else语句判断某年份是否为闰年。
(1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);;public class Strinput{public static void main(String args[]) {String s1,s2,ss,si,sf;int i1,i2;float f1,f2;BufferedReader strin=new BufferedReader(new InputStreamReader);try{ ("输入第一个字符串:" );s1= ();("输入第二个字符串:" );s2= ();}catch(Exception e){ i1 = (s1);i2 = (s2);f1 = (s1);f2 = (s2);ss = strAdd(s1,s2);si = strAdd(i1,i2);sf = strAdd(f1,f2);("输入的二个字符串相加结果为:"+ss );("输入字符串转换为整数相加结果为:"+si );("输入字符串转换为浮点数相加结果为:"+sf );}String strAdd(String str1,String str2) {return str1+str2;}String strAdd(int int1,int int2) {return (int1+int2);}String strAdd(float flt1,float flt2) {return (flt1+flt2);}}6. 应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。
/***该示例是用Java语言演示打印空心菱形和实心菱形的一个例子*把内循环中的if、else条件和else下面的打印空格去掉,就是一个打印实心菱形的例子*图形打印原理:把菱形拆分成两个等边三角形,分别打印上下两个三角形,组合成菱形*/import java.util.Scanner;public class Test {@SuppressWarnings("static-access")public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入要打印拼成菱形上半个三角形的行数,rows = ");int rows = input.nextInt();int i, j, k; //初始化变量for (i = 1; i <= rows; i++) {//外层循环控制行数,控制台接收的参数rows即为上半个三角形的行数//内循环一控制空格的输出for (j = 1; j <= rows - i; j++)System.out.print(" ");//内循环二控制*的输出for (k = 1; k <= 2 * i - 1; k++)//判断是本行的第一个和最后一个打印*if (k == 1 || k == 2 * i - 1)System.out.print("*");//其他的都输出空格elseSystem.out.print(" ");System.out.println("");}//下半个三角形for (i = 1; i <= rows - 1; i++) {//外层循环控制行数,下半个三角形比上面的少一行,所以rows-1}for (j = 1; j <= i; j++)System.out.print(" ");for (k = 1; k < (rows - i) * 2; k++)//第一个为1,最后一个是(rows-i)*2-1,因为k<(row-i)*2不是<=if (k == 1 || k == (rows - i) * 2 - 1)elseSystem.out.print("*");System.out.print(" ");System.out.println("");}}。
打印数字菱形图解和分析。
想要的效果:解题思路:首先可以将一个菱形比作以下图案来看也就是将菱形分为若干个直角三角形所拼成的。
第一步接受用户输入:int a;do{Console.WriteLine("请输入数字:");a = int.Parse(Console.ReadLine());Console.Clear();if (a > 9 || a <= 0){Console.WriteLine("输入有误!不能输入数字:"+a);Console.WriteLine();}} while (a > 9 || a <= 0);第二步:打印菱形的上半部分:可以看成为3个直角三角形。
(只需要左边第一个,第二个,第三个)代码如下:可以使用嵌套循环来做到:for (int i = 1; i <= a; i++){//限制菱形的上半部分高for (int k = 1; k <= a - i; k++){//输出左上角的空格组成的三角形Console.Write(" ");//不换行输出}for (int k = 1; k <i; k++){ //中间(左)三角形Console.Write(k); //在空格三角形的没行后面接上数字}for (int k =i; k >=1; k--){//输出与上面数字三角形组成菱形上半部分的另一半直角三角形Console.Write(k);//不换行输出}Console.WriteLine();//最后在换一行继续进行下一行的输出}至此:菱形的上半部分已经完成接下来打印下半部分菱形,原来与上半部分相同。
代码如下:for (int i = 1; i <= a - 1; i++){ //空值下半部分行数for (int k = 1; k <= i; k++){//下半部分左边空格Console.Write(" ");}for (int k = 1; k <= a - i-1; k++){//下半部分的三角形(左)Console.Write(k);}for (int k = a - i ; k >=1; k--){//下半部分的三角形(右)Console.Write(k);}Console.WriteLine();//换行}总体思路就是如此。
Java利⽤for循环打印菱形的实例教程Java for循环打印菱形Java代码输出菱形的⽅法和思路有很多,在此分享⼀个稍带模块化拆分思想的解决⽅案,将需要输出的菱形拆分成8个模块(如下图),每个模块独⽴实现输出。
优点:8个模块之间耦合性降低,灵活性增强。
也就是说我们可以独⽴的控制这8个模块中任意⼀个模块的输出内容来灵活应对业务逻辑的变更。
按照上图标好的顺序依次实现这8个模块的代码,当1458模块输出为空格时,其中2367模块的组合,就是⼀个菱形。
思路分析:1 ######*###### 第⼀排模块1[6个"#"]+模块2[1个"*"]+模块3[0个"*"]+模块4[6个"#"]2 #####***#####3 ####*****####4 ###*******###5 ##*********##6 #***********#--------------------------------------------------------7 ##*********## 第七排模块5[2个"#"]+模块6[5个"*"]+模块7[4个"*"]+模块8[2个"#"]8 ###*******###9 ####*****####10 #####***#####11 ######*######代码⽰例:public class Demo {public static void main(String[] args) {//为了输出效果在输出时将思路分析中的"#"替换为" "空格输出for (int i = 1; i <= 11; i++) {if (i <= 6) {//当i <=6时打印上三⾓形//模块 1for (int j = 6; j >= i; j--) {System.out.print(" ");}//模块 2for (int j = 0; j < i; j++) {System.out.print("*");}//模块 3[同⼀排中模块3的"*"个数总⽐模块2少1个,所以这⾥j <i-1作为循环条件即可]for (int j = 0; j < i - 1; j++) {System.out.print("*");}//模块 4for (int j = 6; j >= i; j--) {System.out.print(" ");}//换⾏System.out.println();} else {//当i >6时打印下三⾓形//模块 5for (int j = 7; j <= i + 1; j++) {System.out.print(" ");}//模块 6for (int j = 11; j >= i; j--) {System.out.print("*");}//模块 7for (int j = 11; j >= i + 1; j--) {System.out.print("*");}//模块 8for (int j = 7; j <= i + 1; j++) {System.out.print(" ");}//换⾏System.out.println();}}}}运⾏结果:F:\software\Java\jdk1.8.0_121\bin\java.exe "-javaagent:D:\IntelliJ IDEA 2019.1.4\lib\idea_rt.jar=50753:D:\IntelliJ IDEA 2019.1.4\bin" -Dfile.encoding=UTF-8 -classpathF:\software\Java\jdk1.8.0_121\jre\lib\charsets.jar;F:\software\Java\jdk1.8.0_121\jre\lib\deploy.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\access-bridge-64.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\cldrdata.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\dnsns.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\jaccess.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\jfxrt.jar;agent.jar;F:\software\Java\jdk1.8.0_121\jre\lib\plugin.jar;F:\software\Java\jdk1.8.0_121\jre\lib\resources.jar;F:\software\Java\jdk1.8.0_121\jre\lib\rt.jar;D:\ideastudyspace\spring_study\spring-study\spring-study-aop\target\classes;E:\software\MavenRepository\org\aspectj\aspectjweaver\1.9.4\aspectjweaver-1.9.4.jar;E:\software\MavenRepository\org\springframework\spring-webmvc\5.2.0.RELEASE\spring-webmvc-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-aop\5.2.0.RELEASE\spring-aop-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-beans\5.2.0.RELEASE\spring-beans-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-context\5.2.0.RELEASE\spring-context-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-core\5.2.0.RELEASE\spring-core-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-jcl\5.2.0.RELEASE\spring-jcl-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-expression\5.2.0.RELEASE\spring-expression-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-web\5.2.0.RELEASE\spring-web-5.2.0.RELEASE.jar;E:\software\MavenRepository\com\alibaba\fastjson\1.2.47\fastjson-1.2.47.jar com.shiguang.test.Demo*************************************************************Process finished with exit code 0业务变更:打印⼀个空⼼菱形此时只需要将1458模块输出为"*",2367模块输出为空格即可得到⼀个空⼼菱形。