「算法java菱形」菱形的算法

博主:adminadmin 2022-11-26 07:31:08 37

今天给各位分享算法java菱形的知识,其中也会对菱形的算法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用java打印菱形。

一、整体实现思路:菱形9行9列可以将菱形分成上下两个三角形,分析每行空格数和星号个数的关系。

二、一个三角形的实现思路:以输出一个空心三角形为例:

(1)空格的输出按-1递减,字符的输出按等差数列,公差为2

(2)判断第一行和最后一行照常输出。

(3)中间行仅输出两个字符。

三、菱形分实心和空心两种,其代码及解析分别如下:

(一)实心菱形。

1、函数代码:

2、执行效果:

(二)空心菱形:

1、函数代码如下:

2、执行效果:

扩展资料:

java打印的输出方式解析:

1、print():print就是一般的标准输出,但是不换行。

2、println():println和print基本没什么差别,就是最后会换行。

要分辨清楚System.out.print()和System.out.println()的区别。System.out.print()是单纯的输出,而System.out.println()的功能是输出内容后换行,到达下一行,在使用时要注意区分两者之间的不同。

java空心菱形算法

这样的代码光是看是很难看明白的,自己举个例子简单地在纸上写一写画一画,就比较容易明白了。

假定size=5,可以想像一下菱形的形状,size/2+1=3,按以上代码的逻辑来看,就是先处理上面的3行,然后处理下面剩下的2行。

处理上面3行的时候,每一行需要根据行数分别输出*和空格。先看第1行,i==0.

for (int i = 0; i size / 2 + 1; i++) {

for (int j = size / 2 + 1; j i + 1; j--) {

System.out.print(" ");// 输出左上角位置空白

}

这段代码此时的i==1,内层循环走完以后,会输出2次空格(j==3,j==2时),

然后依次往下走。

不得不说,上面的代码写的太复杂了,这么多for循环,看着好费劲的说~~

java 怎样写出一个菱形程序?空心和实心

java打印菱形通过二维数组来打印,实例如下:

int hangshu = 11;

int yiban = hangshu / 2 + 1;

int yibanduo = hangshu / 2;

System.out.println("空心菱形:");

for(int k = 1;k = yiban;k++){

for(int i = 1;i = (yiban - k);i++){

System.out.print(" ");

}

System.out.print("*");

for(int i = 1;i = ( (k - 2) * 2 + 1);i++){

System.out.print(" ");

}

if(k != 1){

System.out.print("*");

}

System.out.println();

}

for(int k = yibanduo;k =1;k--){

for(int i = 1;i = (yiban - k);i++){

System.out.print(" ");

}

System.out.print("*");

for(int i = 1;i = ( (k - 2) * 2 + 1);i++){

System.out.print(" ");

}

if(k != 1){

System.out.print("*");

}

System.out.println();

}

System.out.println("实心菱形:");

for(int i = 1;i = hangshu;i++){

if(i = hangshu/2 + 1){

for(int k = 1;k = hangshu/2 + 1- i;k++){

System.out.print(" ");

}

for(int k = 1;k = i;k++){

System.out.print("* ");

}

System.out.println();

}else{

for(int k =1;k = (i -(hangshu/2 + 1));k++){

System.out.print(" ");

}

for(int k = 1;k = (2 *(hangshu/2 + 1) - i);k++){

System.out.print("* ");

}

System.out.println();

}

}

结果如下:

怎样用JAVA绘制一个菱形图案

java 输出菱形代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

package demo;

public class Demo01 {

public static void main(String[] args) {

int i, j, k;

for (i = 1; i = 5; i++) {

for (j = 1; j = 5 - i; j++)

System.out.print(" ");

for (k = 1; k = 2 * i - 1; k++)

System.out.print("*");

System.out.println("");

}

for (i = 1; i = 4; i++) {

for (j = 1; j = i; j++)

System.out.print(" ");

for (k = 1; k = 9 - 2 * i; k++)

System.out.print("*");

System.out.println("");

}

}

}

绘制算法:

1、分为两部分,上半部分和下半部分

2、输出空格部分换个输出*部分

3、最后一个标签需要换行

用java编写给定一个奇数,输出一个n行的菱形的算法分析

public static void draw(int n)//打出图形.菱形

{

//上半部分

for(int i=1;i=n;i++)//控制行数

{

for(int k=n-1;k=i;k--)//打印空格

{

System.out.print(" ");

}

for(int j=1;j=2*i-1;j++)//打印*

{

System.out.print("*");

}

System.out.println();

}

//下半部分

for(int i=n-1;i=1;i--)

{

for(int k=i;k=n-1;k++)

{

System.out.print(" ");

}

for(int j=1;j=2*i-1;j++)

{

System.out.print("*");

}

System.out.println();

}

}

用java编写菱形

for(i=1;i=4;i++)

{

这个小的for是打印每一行前边的空格

for(j=1;j=4-i;j++)

System.out.print(" ");

这个是打印星星的

for(j=1;j=2*i-1;j++)

System.out.print("*");

这个是打印完一行的换行

System.out.println("");

}

下边的是一样的  只不过每一行的空格和星星数   和上边是翻过来的

for(i=1;i=3;i++)

{

for(j=1;j=i;j++)

System.out.print(" ");

for(j=1;j=7-2*i;j++)

System.out.print("*");

System.out.println("");

}

java.sql.SQLException: 无效的列索引

无效的列索引

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:207)

atoracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:5328)

atoracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:5320)

at untitled5.addreader1.validID(addreader1.java:128)

at untitled5.addreader1.jButton1_actionPerformed(addreader1.java:97)

at untitled5.addreader1_jButton1_actionAdapter.actionPerformed(addreader1.java:175)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

代码:String driverName = "oracle.jdbc.OracleDriver";

Driver driver = (Driver) Class.forName(driverName).newInstance();

//连接数据库

Connection con = DriverManager.getConnection(

"jdbc:oracle:thin:@LONG:1521:orcl", "sysman", "tongfang");

PreparedStatement pstmt = con.prepareStatement(

" insert into reader values(?)");

pstmt.setString(1, str1);

pstmt.setString(2,str2);

pstmt.setString(3,str3);

pstmt.setString(4,str4);

ResultSet res = pstmt.executeQuery();

算法java菱形的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于菱形的算法、算法java菱形的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。