怎么用java去打印输出一个菱形
首先,这个涉及到行和列,所以,这个肯定是用两个for的嵌套来打印输出。然后,我们要找出这个的规律,因为“磨刀不误砍柴工”,所以找出规律所在,我们才知道应该怎么去下手。比如:我们应该把这个分成上下两个部分,上面部分是:
成都创新互联公司主营正蓝网站建设的网络公司,主营网站建设方案,重庆APP开发公司,正蓝h5小程序制作搭建,正蓝网站营销推广欢迎正蓝等地区企业咨询
*****
第一行:三个部分;2个空格 1个*号 2个空格 (i=1)
***** 第二行:三个部分;1个空格 3个*号 1个空格 (i=2)
***** 第三行:三个部分;0个空格 5个*号 0个空格 ( i=3)
为了更加方便去找规律,我们把这个图形补充完整,黑色部分代表着空格,也就是没有显示的部分,而红色部分就是我们的图形的上半部分。所以我们可以得出的规律是:*号的数量和i的关系为:2*i-1 而,空格因为左右一样,所以空格为:3-i。所以上半部分的代码可以这样写:
for(int i =1 ;i=3;i++){
for(int j=1;j=3-i;j++){
System.out.print(" ");//打印左边的空格
}
for(int j=1;j=2*i-1;j++){
System.out.print("*"); //打印*号
}
for(int j=1;j=3-i;j++){
System.out.print(" ");//打印右边空格(也可以省略)
}
System.out.println();//这是每一行打印完就换行
}
那同样的,我们也要在下半部分找出规律来:
***** 第一行:三个部分;1个空格 3个*号 1个空格
(i=1)
***** 第一行:三个部分;2个空格
1个*号 2个空格 (i=2)
所以我们可以得出的规律是:*号的数量和i的关系为:5-2*i
而,空格因为左右一样,所以空格为:i。所以下半部分的代码可以这样写:
for(int i=1;i=2;i++){
for(int j=1;j=i;j++){
System.out.print(" ");
}
for(int j=1;j=5-2*i;j++){
System.out.print("*");
}
for(int j=1;j=i;j++){
System.out.print(" ");
}
System.out.println();
}
同样的任何只要是这样的菱形,我们都可以通过这个规律去打印,只需要把上面的数字替换掉,替换成需要打印的数字就可以了,然后规律大家也可以自己去找。只要很认真熟练地打印出这个例子,那么for的嵌套使用就可以比较熟练了。
java打印一个菱形
我给你简单地写了下注释,你看一下
public class test2 {
public static void main(String args[]) {
//打出前四层星
for (int i = 1; i = 7; i += 2) {
//打出空格
for (int kong = 7; kong i - 1; kong--) {
System.out.print(" ");
}
//打出星+空格
for (int xing = 1; xing = i; xing++) {
System.out.print("* ");
}
System.out.println();
}
//打出后三层星
for (int j = 1; j = 5; j += 2) {
//打出空格
for (int kong1 = 1; kong1 j + 3; kong1++) {
System.out.print(" ");
}
//打出星+空格
for (int xing1 = 5; xing1 = j; xing1--) {
System.out.print("* ");
}
//换行
System.out.println();
}
}
}
祝学习进步!
如何用java编写用 "*"输出菱形?
参考下面主要代码:
public static void draw()
{
int n=10;
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打印菱形高效简洁代码
public class shu{
public static void main(String[] a){
for(int i=0;i6;i++){
for(int j=6-i;j0;j--){
System.out.print(" ");
}
for(int k=1;k=2*i+1;k++){
System.out.print("*");
}
System.out.println();
}
/*以上是打印了一个上等腰三角形*/
for(int i=6;i=0;i--){
for(int j=6-i;j0;j--){
System.out.print(" ");
}
for(int k=1;k=2*i+1;k++){
System.out.print("*");
}
System.out.println();
}
}
}
只要把for的数据换下 下等腰三角形就出来了,所以原理其实就是打印2个等腰三角形
用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打印菱形代码
文章起源:http://lswzjz.com/article/dodeioe.html