如何用JAVA编菱形图案 谢谢
打出图案如下:*************************我做了几个for的loop套在一起很乱很纠结...谢谢!!...
打出图案如下:
*
**
***
****
*****
****
***
**
*
我做了几个for的loop 套在一起 很乱很纠结...谢谢!! 展开
*
**
***
****
*****
****
***
**
*
我做了几个for的loop 套在一起 很乱很纠结...谢谢!! 展开
5个回答
展开全部
这些回答实在看不下去了
代码如下:
public class Demo {
public static void main(String[] args) {
//定义菱形最宽部位的型号数(默认为5)
int count = 5;
//如果命令行给出型号数量的参数,则改为参数给定的
count = args.length == 1 ? Integer.parseInt(args[0]) : count;
//开始打印
for(int i = -(count - 1); i < count; i++) {
for(int j = 0; j < count; j++) {
int abs = i < 0 ? -i : i;
System.out.print(abs - j > 0 ? ' ' : "* ");
}
System.out.println();
}
}
}
运行时:
java Demo 或者 java Demo 10
代码如下:
public class Demo {
public static void main(String[] args) {
//定义菱形最宽部位的型号数(默认为5)
int count = 5;
//如果命令行给出型号数量的参数,则改为参数给定的
count = args.length == 1 ? Integer.parseInt(args[0]) : count;
//开始打印
for(int i = -(count - 1); i < count; i++) {
for(int j = 0; j < count; j++) {
int abs = i < 0 ? -i : i;
System.out.print(abs - j > 0 ? ' ' : "* ");
}
System.out.println();
}
}
}
运行时:
java Demo 或者 java Demo 10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class MyPrint {
/**
* 打印一行
* @param star 打印的字符
* @param num 重复打印字符的数目
* @param width 总的宽度
* @return
*/
private boolean printMidLine(String star,int num,int width){
if(num>width)
return false;
int prefix=(width-num)/2+(width-num)%2;//前面需要打印的空格
int sufix=width-num-prefix;//后面需要打印的空格
for(int i=0;i<prefix;i++)
System.out.print(" ");
for(int i=0;i<num;i++)
System.out.print(star);
for(int i=0;i<sufix;i++)
System.out.print(" ");
System.out.println();
return true;
}
/**
* 打印菱形
* @param star 打印的字符
* @param width 菱形宽度
*/
public void printDiamond(String star,int width){
for(int i=1;i<width;i++)
printMidLine(star, i,width);
printMidLine(star, width, width);
for(int i=width-1;i>0;i--)
printMidLine(star, i,width);
}
public static void main(String[] args){
MyPrint mp=new MyPrint();
mp.printDiamond("*", 5);//可以通过调整参数打印不同的形状
}
}
/**
* 打印一行
* @param star 打印的字符
* @param num 重复打印字符的数目
* @param width 总的宽度
* @return
*/
private boolean printMidLine(String star,int num,int width){
if(num>width)
return false;
int prefix=(width-num)/2+(width-num)%2;//前面需要打印的空格
int sufix=width-num-prefix;//后面需要打印的空格
for(int i=0;i<prefix;i++)
System.out.print(" ");
for(int i=0;i<num;i++)
System.out.print(star);
for(int i=0;i<sufix;i++)
System.out.print(" ");
System.out.println();
return true;
}
/**
* 打印菱形
* @param star 打印的字符
* @param width 菱形宽度
*/
public void printDiamond(String star,int width){
for(int i=1;i<width;i++)
printMidLine(star, i,width);
printMidLine(star, width, width);
for(int i=width-1;i>0;i--)
printMidLine(star, i,width);
}
public static void main(String[] args){
MyPrint mp=new MyPrint();
mp.printDiamond("*", 5);//可以通过调整参数打印不同的形状
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Draw {
public static void main(String[] args){
//前四行
for(int i = 1; i < 5; i++){
for(int j = 0; j < i; j++){
System.out.print("*");
}
System.out.println();
}
//后五行
for(int i = 5; i > 0; i--){
for(int j = 0; j < i; j++){
System.out.print("*");
}
System.out.println();
}
}
}
还有疑问请百度hi我,满意请采纳。谢谢!
public static void main(String[] args){
//前四行
for(int i = 1; i < 5; i++){
for(int j = 0; j < i; j++){
System.out.print("*");
}
System.out.println();
}
//后五行
for(int i = 5; i > 0; i--){
for(int j = 0; j < i; j++){
System.out.print("*");
}
System.out.println();
}
}
}
还有疑问请百度hi我,满意请采纳。谢谢!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Test5{
public static void main(String[] args){
//从键盘输入所要实现的图形的单行做多*数
int x = Integer.parseInt(args[0]);
//图形的上半部分
for(int i = x;i>0;i--)
{
if(i % 2 != 0)
{
for(int j = 0;j<=i/2;j++)
{
System.out.print(" ");
}
for(int k=x;k>=i;k--)
{
System.out.print("*");
}
}
System.out.println();
}
//图形的下半部分
for(int i = 0;i<=x-2;i++)
{
if(i % 2 != 0)
{
for(int j = 0;j<=(i+1)/2;j++)
{
System.out.print(" ");
}
for(int k=x-2;k>=i;k--)
{
System.out.print("*");
}
}
System.out.println();
}
}
}
public static void main(String[] args){
//从键盘输入所要实现的图形的单行做多*数
int x = Integer.parseInt(args[0]);
//图形的上半部分
for(int i = x;i>0;i--)
{
if(i % 2 != 0)
{
for(int j = 0;j<=i/2;j++)
{
System.out.print(" ");
}
for(int k=x;k>=i;k--)
{
System.out.print("*");
}
}
System.out.println();
}
//图形的下半部分
for(int i = 0;i<=x-2;i++)
{
if(i % 2 != 0)
{
for(int j = 0;j<=(i+1)/2;j++)
{
System.out.print(" ");
}
for(int k=x-2;k>=i;k--)
{
System.out.print("*");
}
}
System.out.println();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接printf 最简单 用循环烦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询