程序出问题了,诚请高手指点
要求打印一个菱形:
*
***
*****
***
*
我的程序编译没错误,就是打出来的不符合要求;不知道错在那里,菜鸟刚开始学,
程序写的很烂,还请高手不吝赐教,小弟先谢过了。
class LingXing{
static void paint(){
for(int i=0;i <5;i++){
if(i==2){ //第3行打印五个星
for(int j=0;j <5;j++){
System.out.println( "* ");
}
System.out.println( "\n ");
}
else if(i==1||i==3){ //2、4行打印三个星
for(int j=0;j <5;j++){
if(j!=0||j!=4)
System.out.println( "* ");
else
System.out.println( " ");
}
System.out.println( "\n ");
}
else if(i==0||i==4){ //1、5行打印一个星
for(int j=0;j <5;j++){
if(j==2)
System.out.println( "* ");
else
System.out.println( " ");
}System.out.println( "\n ");
}
}
}
public static void main(String args[]){
paint();
}
}
------解决方案--------------------关注
------解决方案--------------------1.把你的println全部换成print
2.第12行if(j!=0 && j!=4)这句改成if(j!=0 && j!=4)
------解决方案--------------------class LingXing
{
static void paint()
{
for(int i=0;i <5;i++) {
if(i==2){ //第3行打印五个星
for(int j=0;j <5;j++){
System.out.print( "* ");
}
System.out.println( "\n ");
}
else if(i==1||i==3) { //2、4行打印三个星
for(int j=0;j <5;j++) {
if(j < 3)
System.out.print( "* ");
else
System.out.print( " ");
}
System.out.println( "\n ");
}
else if(i==0||i==4) { //1、5行打印一个星
for(int j=0;j <5;j++) {
if(j < 1)
System.out.print( "* ");
else
System.out.print( " ");
}
System.out.println( "\n ");
}
}
}
public static void main(String[] args)
{
paint();
}
}
按照LZ的思路改了一下,可以打出菱形了
其实方法有很多,完全没必要这么麻烦……
------解决方案--------------------我用jsp做的,可以打印任意数量的菱行,n可以任选.
<%@ page contentType= "text/html;charset=UTF-8 "%>
<%!
String kg(int n){//n个空格组成的字符串
String xx= " ";
for(int i=1;i <=n;i++){
xx+= " ";
}
return xx;
}
String xx(int n){//n个*组成的字符串
String xx= " ";
for(int i=1;i <=n;i++){
xx+= "* ";
}
return xx;
}
%>
<%
int n=5;//任一行的最多星星数量,此数可以改动为任意奇数
for(int i=1;i <=(n/2);i++){