nodeJs打印图形
首先声明一个变量,用来存放字符串
var printStr = '';
接下来声明一个函数用来定义要打印一行字符串;
function printChar (char, col) {
for (var i=0; i<col; i++) {
printStr += char;
}
}
console.log(printStr);
当你运行node app.js
就会看到
root@snail:~/desktop/test# node app.js
********************
现在,我们对代码做一些修改,使之能打印出一个图形
var printStr = '';
function printChar (char, col) {
char = char?char:'*';
for (var i=0; i<col; i++) {
printStr += char;
}
}
function n () {
printStr += '\n';
}
function graph (row, col, char) {
for (var i=0; i<row; i++) {
printChar(char, col)
n();
}
}
graph(4, 10);
console.log(printStr);
解释一下,printChar()
是为了打印一列col指定的个数的字符串,n()
是用来打印换行符的.graph()
函数首先进行3元运算得到char
的值,它是要打印的字符.for循环是为了打印出row指定的行数.
最后console出字符串.
得到的结果如下:
root@snail:~/desktop/test# node app.js
**********
**********
**********
**********
接下来我们继续修改代码,打印一个三角形.
这个要找找规律.我现在贴上最终修改完成的代码:
var printStr = '';
function printChar (col, char) {
char = char?char:'*';
for (var i=0; i<col; i++) {
printStr += char;
}
}
function n () {
printStr += '\n';
}
function graph (row, col, char) {
for(var i=0; i<row; i++){
printChar(55, ' ');
printChar(col, char)
n();
}
}
function triangle (i) {
var j=1;
for (;i>0;i--) {
printChar(55, ' ');
printChar(i, ' ');
printChar(j);
j+=2
n();
}
}
function ktriangle (i) {
var j=i*2-1;
for (var i=1;j>0;i++) {
printChar(55, ' ');
printChar(i, ' ');
printChar(j);
j-=2
n();
}
}
graph(4, 11);
triangle(5);
ktriangle(5);
graph(4, 11);
console.log(printStr);
运行效果如下
root@snail:~/desktop/test# node app.js
***********
***********
***********
***********
*
***
*****
*******
*********
*********
*******
*****
***
*
***********
***********
***********
***********
root@snail:~/desktop/test#
至于打印空心的图形。我想,根据前面的代码。已经不难了
不过还是留个空心矩形的小demo吧
var printStr = '';
function printChar (col, char) {
char = char?char:'*';
for(var i=0; i<col; i++){
printStr += char;
}
}
function n () {
printStr += '\n';
}
function hollowRect () {
printChar(20);
n();
for (var i=0; i<5; i++) {
printChar(1);
printChar(18, ' ');
printChar(1);
n();
}
printChar(20);
}
hollowRect();
console.log(printStr);
运行后你就会看到如下空心矩形:
root@snail:~/desktop/test# node app.js
********************
* *
* *
* *
* *
* *
********************
附上含有空心矩形的代码
var printStr = '';
function printChar (col, char) {
char = char?char:'*';
for (var i=0; i<col; i++) {
printStr += char;
}
}
function n () {
printStr += '\n';
}
function graph (row, col, char) {
for (var i=0; i<row; i++) {
printChar(55, ' ');
printChar(col, char)
n();
}
}
function triangle (i) {
var j=1;
for (;i>0;i--) {
printChar(55, ' ');
printChar(i, ' ');
printChar(j);
j+=2
n();
}
}
function ktriangle (i) {
var j=i*2-1;
for (var i=1;j>0;i++) {
printChar(55, ' ');
printChar(i, ' ');
printChar(j);
j-=2
n();
}
}
function hollowRect () {
printChar(20);
n();
for (var i=0; i<5; i++) {
printChar(1);
printChar(18, ' ');
printChar(1);
n();
}
printChar(20);
}
graph(4, 11);
triangle(5);
ktriangle(5);
graph(4, 11);
hollowRect();
console.log(printStr);