//用户输入数字,根据用户的选择打印星星//正着打星星函数let chooseOne = line => { ???let strSpace = ""; ???let strStar = ""; ???//该层for循环控制星星的行数 ???for(let i=1; i<=line; i++) ???{ ???????//该层for循环控制空格数 ???????for(let j=1; j<=line-i; j++) ???????{ ???????????strSpace = strSpace + " "; ???????} ???????//该层for循环控制星星的数量 ???????for(let k=1; k<=2*i-1; k++) ???????{ ???????????strStar = strStar + ‘*‘; ???????} ???????console.log(strSpace + strStar);//打印空格和星星 ???????//重置空格和星星的字符串 ???????strSpace = ""; ???????strStar = ""; ???}}//倒着打星星let chooseTwo = line => { ???let strSpace = ""; ???let strStar = ""; ???//该层for循环控制星星的行数 ???for(let i=1; i<=line; i++) ???{ ???????//该层for循环控制空格数 ???????strSpace += " ";//打印空格之前专门多打印一个空格,为了方便后面打印菱形 ???????for(let j=1; j<=i-1; j++) ???????{ ???????????strSpace = strSpace + " "; ???????} ???????//该层for循环控制星星的数量 ???????for(let k=1;k<=line*2-(2*i-1); k++) ???????{ ???????????strStar = strStar + ‘*‘; ???????} ???????console.log(strSpace + strStar);//打印空格和星星 ???????//重置空格和星星的字符串 ???????strSpace = ""; ???????strStar = ""; ???}}//空心三角形let chooseThree = line => { ???let strSpace = ""; ???let strStar = ""; ???//该层for循环控制星星的行数 ???for(let i=1;i<=line;i++) ???{ ???????//该层for循环控制空格数 ???????for(let j=1; j<=line-i; j++) ???????{ ???????????strSpace = strSpace + " "; ???????} ???????//该层for循环控制星星的数量 ???????for(let k=1; k<=2*i-1; k++) ???????{ ???????????//如果是第一行,或者最后一行 或者第一个星星 或者最后一个星星 ???????????if(i==1 || i==line || k==1 || k==2*i-1) ???????????{ ???????????????strStar = strStar + ‘*‘;//字符串里面拼接* ???????????} ???????????else{ ???????????????strStar = strStar + ‘ ‘;//字符串里面拼接‘ ‘ ???????????} ???????} ???????console.log(strSpace + strStar);//打印空格和星星 ???????//重置空格和星星的字符串 ???????strSpace = ""; ???????strStar = ""; ???}}//菱形let chooseFour = line => { ???let top = parseInt((line+1)/2);//正着的星星的行数 ???let bottom = line - top;//倒着的星星的行数 ???//首先正着打星星 ???chooseOne(top); ???//接下来倒着打星星 ???chooseTwo(bottom);}"use strict"let readline = require("readline-sync");console.log("请输入您要打印的图形: 1.正着打星星 2.倒着打星星 3.空心三角形 ?4.菱形(奇数)");let choose = parseInt(readline.question(""));console.log("请输入星星的行数:");let line = parseInt(readline.question(""));switch(choose){ ???case 1: ???????chooseOne(line); ???????break; ???case 2: ???????chooseTwo(line); ???????break; ???case 3: ???????chooseThree(line); ???????break; ???case 4: ???????chooseFour(line); ???????break; ???default: ???????console.log("您的输入有误");}
//判断是否为回文数let readline = require("readline-sync");console.log("请输入你要进行判断的回文数:");let oldNum = parseInt(readline.question(""));//用于存放用户输入的数 ??1234let newNum = 0;//用于存放倒过来的数//将用户输入的数倒过来赋值给newNumfor(let temp = oldNum;temp!=0; temp = parseInt(temp/10))//temp 0{ ?newNum = newNum*10 + temp%10;//4321 ?为什么要乘以10呢?}if(newNum == oldNum){ ?console.log("是回文数");}else{ ?console.log("不是回文数");}
js经典案例-箭头函数打星星、回文数判断
原文地址:http://www.cnblogs.com/opacity-m/p/8016937.html