用JAVA的FOR循环做一个用*号组成的菱形,菱形内是空的,就边框是*号
第一个程序运行后菱形的确不规范,菱角是2个*;第二个程序有点复杂了,能在简练一点吗?分数再提10分...
第一个程序运行后菱形的确不规范,菱角是2个*;第二个程序有点复杂了,能在简练一点吗?分数再提10分
展开
2个回答
展开全部
楼上的不行,不是标准的菱形,而且只定义了一个形式
我这个可以定义任意长度的
package src;
import java.io.UnsupportedEncodingException;
public class Test5 {
public static void main(String args[]) throws UnsupportedEncodingException {
//定义长宽,实际上都是一样的,必须为单数
int width = 11;
int hight = 11;
//定义空格
String space = " ";
//定义*号
String dot = "*";
//执行左边的*号
for (int i = 0; i < hight; i++) {
if (i < (hight - 1) / 2) {
for (int k = 0; k < (width - 1) / 2 - i; k++) {
System.out.print(space);
}
System.out.print(dot);
} else {
for (int k = 0; k < i - (width - 1) / 2; k++) {
System.out.print(space);
}
System.out.print(dot);
}
//执行右边的*号
if (i < (hight - 1) / 2 && i != 0 && i != hight - 1) {
for (int k = 0; k < Test5.getAdd(hight,width,i); k++) {
System.out.print(space);
}
System.out.print(dot);
} else if (i == (hight - 1) / 2 && i != 0 && i != hight - 1) {
for (int k = 0; k < width - 2; k++) {
System.out.print(space);
}
System.out.print(dot);
} else if (i > (hight - 1) / 2 && i != 0 && i != hight - 1) {
for (int k = 0; k < Test5.getDec(hight,width,i); k++) {
System.out.print(space);
}
System.out.print(dot);
}
System.out.println();
}
}
public static int getAdd(int hight,int width,int i) {
int end=width-2;
for(int k=0;k<(hight-1)/2-i;k++){
end=end-2;
}
return end;
}
public static int getDec(int hight,int width,int i) {
int end=width-2;
for(int k=0;k<i-(hight-1)/2;k++){
end=end-2;
}
return end;
}
}
写了老半天基础知识都忘光了
我这个可以定义任意长度的
package src;
import java.io.UnsupportedEncodingException;
public class Test5 {
public static void main(String args[]) throws UnsupportedEncodingException {
//定义长宽,实际上都是一样的,必须为单数
int width = 11;
int hight = 11;
//定义空格
String space = " ";
//定义*号
String dot = "*";
//执行左边的*号
for (int i = 0; i < hight; i++) {
if (i < (hight - 1) / 2) {
for (int k = 0; k < (width - 1) / 2 - i; k++) {
System.out.print(space);
}
System.out.print(dot);
} else {
for (int k = 0; k < i - (width - 1) / 2; k++) {
System.out.print(space);
}
System.out.print(dot);
}
//执行右边的*号
if (i < (hight - 1) / 2 && i != 0 && i != hight - 1) {
for (int k = 0; k < Test5.getAdd(hight,width,i); k++) {
System.out.print(space);
}
System.out.print(dot);
} else if (i == (hight - 1) / 2 && i != 0 && i != hight - 1) {
for (int k = 0; k < width - 2; k++) {
System.out.print(space);
}
System.out.print(dot);
} else if (i > (hight - 1) / 2 && i != 0 && i != hight - 1) {
for (int k = 0; k < Test5.getDec(hight,width,i); k++) {
System.out.print(space);
}
System.out.print(dot);
}
System.out.println();
}
}
public static int getAdd(int hight,int width,int i) {
int end=width-2;
for(int k=0;k<(hight-1)/2-i;k++){
end=end-2;
}
return end;
}
public static int getDec(int hight,int width,int i) {
int end=width-2;
for(int k=0;k<i-(hight-1)/2;k++){
end=end-2;
}
return end;
}
}
写了老半天基础知识都忘光了
展开全部
改好了...
public class Vector1{
public static void main(String[] args)
{
for(int i=5;i>=0;i--)
{
for(int j=0;j<i*4;j++)
System.out.print(" ");
System.out.print("*");
for(int j=0;j<(5-i)*8-1;j++)
System.out.print(" ");
if(i!=5) System.out.println("*");
}
for(int i=0;i<=5;i++)
{
for(int j=0;j<i*4;j++)
System.out.print(" ");
System.out.print("*");
for(int j=0;j<(5-i)*8-1;j++)
System.out.print(" ");
if(i!=0) System.out.println("*");
}
}
}
可用,写得简陋了点...
public class Vector1{
public static void main(String[] args)
{
for(int i=5;i>=0;i--)
{
for(int j=0;j<i*4;j++)
System.out.print(" ");
System.out.print("*");
for(int j=0;j<(5-i)*8-1;j++)
System.out.print(" ");
if(i!=5) System.out.println("*");
}
for(int i=0;i<=5;i++)
{
for(int j=0;j<i*4;j++)
System.out.print(" ");
System.out.print("*");
for(int j=0;j<(5-i)*8-1;j++)
System.out.print(" ");
if(i!=0) System.out.println("*");
}
}
}
可用,写得简陋了点...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |