要求打印一个菱形:
*
***
*****
***
*
我的程序编译没错误,就是打出来的不符合要求;不知道错在那里,菜鸟刚开始学,
程序写的很烂,还请高手不吝赐教,小弟先谢过了。
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();
}
}
*
***
*****
***
*
我的程序编译没错误,就是打出来的不符合要求;不知道错在那里,菜鸟刚开始学,
程序写的很烂,还请高手不吝赐教,小弟先谢过了。
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();
}
}
2.第12行if(j!=0 && j!=4)这句改成if(j!=0 && j!=4)
^_^
{
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的思路改了一下,可以打出菱形了
其实方法有很多,完全没必要这么麻烦……
{
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!=0 && j!=4)
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 == 2)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println("\n");
}
}
}
public static void main(String[] args)
{
paint();
}
}
<%!
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++){
String line=kg((n-2*i+1)/2)+xx(2*i-1);
System.out.println(line);
}
System.out.println(xx(n));
for(int i=(n/2);i>=1;i--){
String line=kg((n-2*i+1)/2)+xx(2*i-1);
System.out.println(line);
}
%>
String xx="";
for(int i=1;i<=n;i++){
xx+=" ";
}
return xx;
}static String xx(int n){//n个*组成的字符串
String xx="";
for(int i=1;i<=n;i++){
xx+="*";
}
return xx;
}static void paint(int n){
for(int i=1;i<=(n/2);i++){
String line=kg((n-2*i+1)/2)+xx(2*i-1);
System.out.println(line);
}
System.out.println(xx(n));
for(int i=(n/2);i>=1;i--){
String line=kg((n-2*i+1)/2)+xx(2*i-1);
System.out.println(line);
}
}public static void main(String args[]){
int n=5;//任一行的最多星星数量,此数可以改动为任意奇数
paint(n);
}}
也谢谢楼上几位给出了另外版本源码的朋友,我读了也很有启发