//参数row是要输出的三角形的行数,
为渭南等地区用户提供了全套网页设计制作服务,及渭南网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、渭南网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
//参数b为true表示输出的是菱形,false是三角形
public static void sjx(int row,boolean b){
if(row1){
System.out.println("至少需要传递的参数是2!");
}
int k=row*2-1;//得到最大一行的*的个数
int x=(k-1)/2;//得到从中间分开(中间的除外)左边的长度
for(int i=1;i=row;i++){
String kg="";//每一行要输出的 包括 空格和*
int rowI=i*2-1;//当前行要输出空格的个数
for(int j=(rowI-1)/2;j=x;j++){//先补空格
kg=kg+" ";
}
for(int j=0;jrowI;j++){
kg=kg+"*";
}
System.out.println(kg);
}
if(b){
for(int i=row-1;i0;i--){
String kg="";//每一行要输出的 包括 空格和*
int rowI=i*2-1;//当前行要输出空格的个数
for(int j=(rowI-1)/2;j=x;j++){//先补空格
kg=kg+" ";
}
for(int j=0;jrowI;j++){
kg=kg+"*";
}
System.out.println(kg);
}
}
}
一、整体实现思路:菱形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()的功能是输出内容后换行,到达下一行,在使用时要注意区分两者之间的不同。
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();
import java.lang.Math;
public class Lingx{
public static void main(String[] args) {
Lingx l=new Lingx();
System.out.print("请输入数字:");
int n = new Scanner(System.in).nextInt();
//l.p(5);
l.p(n);
}
public void p(int n){
for(int i=0;i2*n+1;i++){
for(int j=0;jMath.abs(n-i);j++){
System.out.print(" ");
}
for(int j=0;j2*(n-Math.abs(n-i))+1;j++){
System.out.print("*");
}
System.out.println();
}
}
}
写这种代码,主要是看解题思路,从简单到复杂,从考虑实现到考虑运行效率。
比如刚开始可以考虑先输出菱形上面的三角形,再出菱形下面的三角形(这样代码比较繁琐)。再复杂一点,你可以先考虑菱形的左半边如何输出,这就用到了数学中的函数逻辑,这样代码就简洁了不少,再复杂就开始运行效率(对于初学者或这运算数据比较少时,就暂不用考虑)。
慢慢提升!!!
/*
本项小程序用于打印一个菱形图形
需求:
1.打印如下图形
*
* *
* * *
* * * *
* * *
* *
*
思路:
1.需要两个分离的循环
2.打印
*/
public class LingXing //这是本类的名字
{
public static void main(String[] args)
{
int m=10,n=m-1; //用户定义要打印的菱形的大小
/*
这个for循环是用于控制打印笑脸的部分
*/
for(int x=1;x=m;x++) //笑脸的行数
{
for(int y=x;y=m;y++) //笑脸左面的空缺
{
System.out.print(" ");
}
for(int z=1;z=x;z++) //笑脸的输出部分
{
System.out.print("\2 ");
}
System.out.println();
}
/*
这个for循环是用于控制打印心形的部分
*/
for(int i=1;i=n;i++) //心形的行数
{
for(int j=1;j=i;j++) //心形左边的空缺
{
System.out.print(" ");
}
for(int k=n;k=i;k--) //心形的输出部分
{
System.out.print(" \3");
}
System.out.println();
}
}
}
2.正三角形也是同理,没很大差别:《代码如上相似》