java中如何用星号如何输出个空心的菱形

java中如何用星号如何输出个空心的菱形,第1张

import javautilScanner;
public class Diamond {
public static void main(String[] args) {
int length=1;//存储菱形的边长的变量
Scanner sc =new Scanner(Systemin);//输入数据的扫描对象
Systemoutprintln("请输入菱形的边长:");
length = scnextInt();//获取输入的边长数值
/打印菱形的上半部分三角形 行数为length行/
for (int i=1; i<=length;i++) {//需要打印的行数
for(int j=1;j<=length-i;j++){//打印左边空白的区域,随行递减1
Systemoutprint(" ");
}
for(int k=1;k<=2i-1;k++){//打三角形的区域
if(k==1||k==2i-1){//空心的获取 除每行第一个以及最后一个 外其余为空白
Systemoutprint("");
}else{
Systemoutprint(" ");
}
}
Systemoutprintln();
}
/打印菱形的下半部分三角形 中间行公用 故行数为length-1/
for (int i = length-1;i>0;i--){
for(int j=1;j<=length-i;j++){
Systemoutprint(" ");
}
for(int k=1;k<=2i-1;k++){
if(k==1||k==2i-1){
Systemoutprint("");
}else{
Systemoutprint(" ");
}
}
Systemoutprintln();
}
}
}










方法很多,可以i=0开始的!我现在是 从1开始
public class Zuoye {
public static void main(String[] args) {
//首先把菱形看成上下,上五下四,所以第一个for有5次,第二个for4次
for(int i=1;i<=5;i++)
{
//将空格和分开看,看" "的变化i=1时,他是4 ,2的时候是3找规律
for(int j=1;j<=5-i;j++)
Systemoutprint(" ");
for(int k=1;k<=2i-1;k++)//找规律,i是 1 3 5 7 基数嘛
Systemoutprint('');
//换一行
Systemoutprintln();
}
for(int i=1;i<=4;i++)
{
for(int j=1;j<=i;j++)//空格 1 2 3 4 so
Systemoutprint(" ");
for(int k=7;k>=2i-1;k--)// 7 5 3 1倒着来的基数
Systemoutprint('');
Systemoutprintln();
}
}
}
希望你可以举一反三,能打印活的菱形

我给你简单地写了下注释,你看一下
public class test2 {
public static void main(String args[]) {
//打出前四层星
for (int i = 1; i <= 7; i += 2) {
//打出空格
for (int kong = 7; kong > i - 1; kong--) {
Systemoutprint(" ");
}
//打出星+空格
for (int xing = 1; xing <= i; xing++) {
Systemoutprint(" ");
}
Systemoutprintln();
}
//打出后三层星
for (int j = 1; j <= 5; j += 2) {
//打出空格
for (int kong1 = 1; kong1 < j + 3; kong1++) {
Systemoutprint(" ");
}
//打出星+空格
for (int xing1 = 5; xing1 >= j; xing1--) {
Systemoutprint(" ");
}
//换行
Systemoutprintln();
}
}
}
祝学习进步!

public static void draw(int n)//打出图形菱形
{

//上半部分
for(int i=1;i<=n;i++)//控制行数
{
for(int k=n-1;k>=i;k--)//打印空格
{
Systemoutprint(" ");
}
for(int j=1;j<=2i-1;j++)//打印
{
Systemoutprint("");
}
Systemoutprintln();
}
//下半部分
for(int i=n-1;i>=1;i--)
{
for(int k=i;k<=n-1;k++)
{
Systemoutprint(" ");
}
for(int j=1;j<=2i-1;j++)
{
Systemoutprint("");
}
Systemoutprintln();
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13366521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存