JAVA输出空心梯形_JavaScript中简单的算法:空心梯形,空心菱形,回形

本文介绍了如何使用JAVA和JavaScript实现空心菱形、空心梯形及回形的输出。通过示例代码详细展示了不同图形的绘制过程,并提供了分割字符的辅助函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.空心菱形

/*

* 空心菱形

* @param Number n 输入的行数

* @return String`

* */

function ling(n){

if(n==1) return 1;

var string = '';

var kong = '';

var s='';

var ko='';

for(var i=1;i<=n;i++){

for(var k=n-1;k>=i;k--){

kong+=' ';

}

for(var j=1;j<=2*i-1;j++){

if(j==1 || j==2*i-1){

string+='*';

} else {

string+=' ';

}

}

console.log(kong+string);

string='';

kong = '';

}

for(var a=n-1;a>=1;a--){

for(var b=n-1;b>=a;b--){

ko+=' ';

}

for(var c=1;c<=2*a-1;c++){

if(c==1 || c==2*a-1){

s+='*';

} else {

s+=' ';

}

}

console.log(ko+s);

ko="";

s="";

}

}

ling(4);

2.空心梯形

/*

* 空心梯形

* n:表示梯形第一行显示的星星的个数,如果n是偶数,则星星的个数会剪掉1

* */

function tiXing(n,m){

var string='';

//通过第一行星星的个数计算星星从第几行开始显示

n = Math.floor((n+1)/2);

for(var i=1;i<=m;i++){

if(i>=n){

for(var j=1;j<=2*i-1;j++){

if(i==n || i==m){

string+='* ';

} else {

if(j==1 || j==2*i-1){

string+='* ';

} else {

string+=' ';

}

}

}

console.log(string);

string='';

}

}

}

tiXing(6,10);

3.回形

/*

* 回形

* @param n int 外层的行数或列数

* @param m int 内层的行数或列数

* */

function hui(n,m){

var s = '';

var tmp=0;

//判断下,如果用户给的内部或外部的列数不满足条件的时候,给一个默认值

if(Math.floor(n/2)<=4){

n=8; }

if(m>=(Math.floor(n/2)-2)){

m=2;

}

var num = (n-m*2);

//循环

for(var i= 1;i<=n;i++){

for(var j=1;j<=n;j++){

if(i==1 || i==n){

s+='* ';

} else if(i==m+1 || i==(n-m)){

if(j==1 || j==n || (j>=(m+1)&& j<=(n-m))){

s+='* ';

} else{

s+=' ';

}

}else if((i>1 && i=(n-m)&& i

if(j==1 || j==n){

s+='* ';

} else{

s+=' ';

}

} else {

if(j==1 || j==n){

s+='* ';

} else if(j==m+1 || j==(n-m)){

s+='* ';

}else{

s+=' ';

}

}

}

console.log(s);

s='';

}

}

hui(10,3);

4.分割字符

/*

* 从前往后分隔字符串

* @param str string 要分隔的字符串

* */

//从前往后的每三个字符加一个逗号

function fen(str){

//统计字符串的长度

var len = str.length;

var newStr='';

for(var i=0;i

if((i)%3==0){

newStr+=",";

}

newStr+=str[i];

}

newStr = newStr.slice(1);

console.log(newStr);

}

fen('1234567732213211');

console.log('++++++++++++++++++++++++++++++++++++++++++++');

/*

* 从后往前分隔字符串

* @param str string 要分隔的字符串

* */

//从后往前的每三个字符加一个逗号

function fens(str){

//统计字符串的长度

var len = str.length;

var newStr='';

var strs='';

var result='';

for(var i=len-1;i>=0;i--){

newStr+=str[i];

}

for(var i=0;i

if((i)%3==0){

strs+=",";

}

strs+=newStr[i];

}

strs = strs.slice(1);

var num = strs.length;

for(var i=num-1;i>=0;i--){

result+=strs[i];

}

console.log(result);

}

fens('1234567732213211');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值