2014-11-19 3 views
-1

여기에 자바 스크립트 블록이 있습니다.하위 단위 이해

var char, num, i, line, j; 

char = input[0]; 
num = input[1]; 
l = ""; 
var Lines = new Array(); 

for (i=0; i <= num; i++) { 
     l = l+char+char+char; 
      for (j=0; j <= num; j++) { 
        Lines[i] = l.substr(0, 1*i); 
     } 
      print(i +" " + Lines[i]); 
    } 

내 문제는 내가이 줄을 이해하지 못하는 것입니다 : Lines[i] = l.substr(0, 1*i);

여기 괜찮 배우려고 노력 오전 이것은 내가 보는 몇 사이트 중 하나입니다 그것은 여기에 예상대로 수행 간단한 스크립트 도움이되었으므로 assinine 발언을 삼가하십시오. 숙제가 아닙니다. 선생님의 가르침 방식이 내 이해를 돕지 못하기 때문에 나는 사물을 이해하려고 노력합니다. 사실 전체 교실에 문제가 있습니다.

원하는 출력은 새 줄을 만드는 동안 문자를 여러 번 반복해서 출력하므로 M이 입력되면 (char) 6을 입력 (num)으로 입력하면 ... 첫 번째 한 줄 인쇄 M 두 번째 줄은 주어진 횟수만큼 2 Ms, 3 Ms 등을 인쇄합니다.이 경우 6 줄과 6 M을 만드는 6 개입니다. (직각 삼각형을 사용하면 말할 수 있습니다.)이 방법을 사용하면 다이아몬드도 만들 수 있습니다.)

나는 "* i"가 들어간다. 나는 substr (0,1)이 단지 첫 번째 문자라는 것을 안다. 현재 숫자 i가 substr 결과에 어떤 영향을 주는지는 알 수 없습니다.

설명 : char은 입력 된 문자이고 num은 입력 된 숫자입니다. 클래스에서 우리는 HTML 파일을 사용하여 javascript를 실행합니다. 여기서는 document.write라고 말한 대신 print 문을 사용하고 .js 파일을 저장해야합니다. 교사는 그 모든 것들에 빠지지 않습니다. 혹시 수업이 Programming Logic 105이냐고 궁금한 점이 있습니다. 파스칼, 베이식, C 시절 고등학생 때부터 프로그래밍을 보지 않았습니다. 나는 자바 스크립트의 동적 인 특성에 익숙하지 않다. 나는 학교가 자바 스크립트를 프로그래밍에 대한 좋은 문이라고 생각한다.

+0

번째 인수가 길이입니다. 'i'에 1을 곱하면됩니다. –

+1

팁 : 코드를 버리고 다시 시작하십시오. 단일 루프 만 있으면됩니다. 그리고'i' 변수에'1'을 곱할 필요가 없습니다. 이미 숫자입니다. – Bergi

+0

좋아, 길이를 곱하면 어떻게 될까? –

답변

0

대신 Lines[i] = l.substr(0, 1+i);을 사용하면 트릭을 수행 할 수 있습니다.

+0

루프 내에 루프를 배치하는 대신 하나의 루프를 사용할 때와 동일한 결과를 얻습니다. 그것은 출력 : M, MM, MMM, MMM, MMM, MMM (각각 새로운 줄에 있습니다.) 그냥 입력하면 사이트가 제대로 표시되지 않습니다. –

+0

원래 코드는 while 루프를 사용합니다. var c = input [0] .charAt (0) .toUpperCase(); var i, n, l; l = "" n = input [1]i = 0 (i = 0)) {print (Lines [i]); i = i-1;} –

0

당신은 자바 스크립트에서 세 가지 옵션이

//slice 
//syntax: string.slice(start [, stop]) 
"Good news, everyone!".slice(5,9); // extracts 'news' 

//substring 
//syntax: string.substring(start [, stop]) 
"Good news, everyone!".substring(5,9); // extracts 'news' 

//substr 
//syntax: string.substr(start [, length]) 
"Good news, everyone!".substr(5,4); // extracts 'news'