2014-10-13 3 views
-4

저는 Angular를 배우려고 노력하고 있지만, 나는 fizzBuzz를 만들려고 노력하고 있습니다. 나는 '모두'조건 결과를 얻을하지 않습니다각도의 FizzBuzz?

var myApp = angular.module("myApp", []); 

myApp.controller("game", ["$scope", function($scope) { 

$scope.number = 0; 
$scope.result = ""; 

$scope.fizzBuzz = function(){ 

    if($scope.number){ 

     if($scope.number % 3 == 0) 
     { 
     return $scope.result = "Fizz"; 
     } 
     else if($scope.number % 5 == 0) 
     { 
     return $scope.result = "Buzz"; 
     } 
     else if(($scope.number % 3 == 0) && ($scope.number % 5 == 0)) 
     { 
     return $scope.result = "FizzBuzz"; 
     alert($scope.result); 
     } 
    }else{ 
     return "Enter a Number"; 
    } 

}; 

}]); 

및 바인딩 :

<div ng-controller="game"> 

<input type="text" ng-model="number"> 

<h1>{{fizzBuzz(result)}}</h1> 

</div> 

그것은 얻을 수 없다 'FizzBuzz'but'소다 '여기

는 응용 프로그램입니다 '버즈'..

일반 js와 잘 작동합니다. 이 sytax 오류가 있는지 나는 단지 볼 수 없다 ..?

라이브 : 사전에 http://jsfiddle.net/huguxvmx/1/

Thnx! 이 방식으로 작동, 당신이 중 하나가 성공받을 조건이 있다면, 다음에 다른 제거를 실행되지 그리고 맨 마지막 체크를 이동하고 사용하는 경우에만 또는 함께 할 경우 다른 사람 때문에

+3

제목은 – Novocaine

+0

그 조건 문제 ... 당신은 이미 당신의 코드에서 오류를 알고 제안합니다. 조건을 역순으로 추가하십시오. 그것은 당신의 문제를 해결할 것입니다. jsfiddle에서 확인하십시오. http://jsfiddle.net/huguxvmx/5/ –

답변

0

당신은 처음에이 조건

if(($scope.number % 3 == 0) && ($scope.number % 5 == 0)) 

를 설정하고 &&&를 교체해야합니다.

이 작업은 JSFiddle입니다.

+0

고맙습니다! 나는 5 분 안에 그것을 받아 들일 것이다 :) – Mar

2

&& :

if(($scope.number % 3 == 0) && ($scope.number % 5 == 0)) 
    { 
    return $scope.result = "FizzBuzz"; 
    alert($scope.result); 
    } 
    if($scope.number % 3 == 0) 
    { 
    return $scope.result = "Fizz"; 
    } 
    if($scope.number % 5 == 0) 
    { 
    return $scope.result = "Buzz"; 
    } 
+0

$ scope.number가 입력되었는지 확인하지 않습니다. 첫 번째 if 문은 다음과 같습니다. 숫자를 입력하면 3 ... 등으로 나눌 수 있는지 확인하십시오. – Mar

+0

@Mar thats upper check 방금 그 상태의 내부 코드를 작성했습니다. –

0

FizzBuzz를 각도로 사용하는 다른 방법이 있습니다. 누군가가 이것을 다른 방법으로 운동하기를 원한다면 2 센트를 더할 것이라고 생각했습니다. 여기

는 HTML입니다 :

<!DOCTYPE html> 
    <html> 

    <head> 
    <link rel="stylesheet" type="text/css" href="style.css"> 
    <script data-require="[email protected]" data-semver="1.3.10" src="https://code.angularjs.org/1.3.10/angular.js"></script> 
    <script type="text/javascript" src="script.js"></script> 
    </head> 

    <body ng-app="myApp"> 
    <h1>FizzBuzz</h1> 
    <div ng-controller="myCtrl"> 
     <div ng-repeat="number in numbers"> 
     {{ number }} 
     <span ng-if="number%3==0 && number%5!==0" >Fizz</span> 
     <span ng-if="number%5==0 && number%3!==0">Buzz</span> 
     <span ng-if="number%3==0 && number%5==0">FizzBuzz</span> 
     </div> 
    </div> 
    </body> 

</html> 

그리고 여기에 스크립트입니다

angular.module('myApp', []) 
.controller('myCtrl', ['$scope', function($scope) { 
    function range(start, stop, step){ 
     var a=[start], b=start; 
     while(b<stop){b+=step;a.push(b)} 
     return a; 
    } 
    $scope.numbers = range(1, 100, 1); 
}]);